Module: GemRelease::Helpers

Included in:
Template, VersionFile
Defined in:
lib/gem_release/helpers.rb

Instance Method Summary collapse

Instance Method Details

#gem_filenameObject



33
34
35
# File 'lib/gem_release/helpers.rb', line 33

def gem_filename
  gemspec.file_name
end

#gem_nameObject



25
26
27
# File 'lib/gem_release/helpers.rb', line 25

def gem_name
  gemspec ? gemspec.name : gem_name_from_directory
end

#gem_name_from_directoryObject



29
30
31
# File 'lib/gem_release/helpers.rb', line 29

def gem_name_from_directory
  File.basename(Dir.pwd)
end

#gem_versionObject



37
38
39
# File 'lib/gem_release/helpers.rb', line 37

def gem_version
  gemspec.version.to_s
end

#gemspecObject



41
42
43
44
45
# File 'lib/gem_release/helpers.rb', line 41

def gemspec
  Gem::Specification.load(gemspec_filename)
rescue LoadError, RuntimeError
  nil
end

#gemspec_dirsObject



59
60
61
# File 'lib/gem_release/helpers.rb', line 59

def gemspec_dirs
  Dir.glob('**/*.gemspec').map { |spec| File.dirname(spec) }
end

#gemspec_filenameObject



47
48
49
50
51
# File 'lib/gem_release/helpers.rb', line 47

def gemspec_filename
  name = Array(options[:args]).first rescue nil
  name ||= Dir['*.gemspec'].first
  name || raise("No gemspec found or given.")
end

#github_tokenObject



21
22
23
# File 'lib/gem_release/helpers.rb', line 21

def github_token
  `git config --get github.token`.strip
end

#github_userObject



17
18
19
# File 'lib/gem_release/helpers.rb', line 17

def github_user
  `git config --get github.user`.strip
end

#in_bootstrapped_dirObject



63
64
65
66
67
68
69
70
71
# File 'lib/gem_release/helpers.rb', line 63

def in_bootstrapped_dir
  dir = Array(options[:args]).first rescue nil
  if dir && dir.kind_of?(String) && dir[0] != '-'
    Dir.mkdir dir
    Dir.chdir(dir) { yield }
  else
    yield
  end
end

#in_gemspec_dirsObject



53
54
55
56
57
# File 'lib/gem_release/helpers.rb', line 53

def in_gemspec_dirs
  gemspec_dirs.each do |dir|
    Dir.chdir(dir) { yield }
  end
end

#quiet?Boolean

Returns:

  • (Boolean)


5
6
7
# File 'lib/gem_release/helpers.rb', line 5

def quiet?
  options[:quiet]
end

#user_emailObject



13
14
15
# File 'lib/gem_release/helpers.rb', line 13

def user_email
  `git config --get user.email`.strip
end

#user_nameObject



9
10
11
# File 'lib/gem_release/helpers.rb', line 9

def user_name
  `git config --get user.name`.strip
end