Class: GemXray::GemEntry
- Inherits:
-
Object
- Object
- GemXray::GemEntry
- Defined in:
- lib/gemxray/gem_entry.rb
Instance Attribute Summary collapse
-
#autorequire ⇒ Object
readonly
Returns the value of attribute autorequire.
-
#end_line ⇒ Object
readonly
Returns the value of attribute end_line.
-
#groups ⇒ Object
readonly
Returns the value of attribute groups.
-
#line_number ⇒ Object
readonly
Returns the value of attribute line_number.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
-
#source_line ⇒ Object
readonly
Returns the value of attribute source_line.
-
#version ⇒ Object
readonly
Returns the value of attribute version.
Instance Method Summary collapse
- #development_group? ⇒ Boolean
- #gemfile_group ⇒ Object
-
#initialize(name:, version: nil, groups: [], line_number: nil, end_line: nil, source_line: nil, autorequire: nil, options: {}) ⇒ GemEntry
constructor
A new instance of GemEntry.
- #line_range ⇒ Object
- #pinned_version? ⇒ Boolean
- #require_names ⇒ Object
Constructor Details
#initialize(name:, version: nil, groups: [], line_number: nil, end_line: nil, source_line: nil, autorequire: nil, options: {}) ⇒ GemEntry
Returns a new instance of GemEntry.
7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/gemxray/gem_entry.rb', line 7 def initialize(name:, version: nil, groups: [], line_number: nil, end_line: nil, source_line: nil, autorequire: nil, options: {}) @name = name @version = normalize_version(version) @groups = Array(groups).map(&:to_sym).reject { |group| group == :default }.uniq @line_number = line_number @end_line = end_line || line_number @source_line = source_line @autorequire = autorequire @options = end |
Instance Attribute Details
#autorequire ⇒ Object (readonly)
Returns the value of attribute autorequire.
5 6 7 |
# File 'lib/gemxray/gem_entry.rb', line 5 def autorequire @autorequire end |
#end_line ⇒ Object (readonly)
Returns the value of attribute end_line.
5 6 7 |
# File 'lib/gemxray/gem_entry.rb', line 5 def end_line @end_line end |
#groups ⇒ Object (readonly)
Returns the value of attribute groups.
5 6 7 |
# File 'lib/gemxray/gem_entry.rb', line 5 def groups @groups end |
#line_number ⇒ Object (readonly)
Returns the value of attribute line_number.
5 6 7 |
# File 'lib/gemxray/gem_entry.rb', line 5 def line_number @line_number end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
5 6 7 |
# File 'lib/gemxray/gem_entry.rb', line 5 def name @name end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
5 6 7 |
# File 'lib/gemxray/gem_entry.rb', line 5 def @options end |
#source_line ⇒ Object (readonly)
Returns the value of attribute source_line.
5 6 7 |
# File 'lib/gemxray/gem_entry.rb', line 5 def source_line @source_line end |
#version ⇒ Object (readonly)
Returns the value of attribute version.
5 6 7 |
# File 'lib/gemxray/gem_entry.rb', line 5 def version @version end |
Instance Method Details
#development_group? ⇒ Boolean
23 24 25 |
# File 'lib/gemxray/gem_entry.rb', line 23 def development_group? !(groups & %i[development test]).empty? end |
#gemfile_group ⇒ Object
27 28 29 30 31 32 |
# File 'lib/gemxray/gem_entry.rb', line 27 def gemfile_group return nil if groups.empty? return groups.first.to_s if groups.one? groups.map(&:to_s) end |
#line_range ⇒ Object
34 35 36 37 38 |
# File 'lib/gemxray/gem_entry.rb', line 34 def line_range return nil unless line_number line_number..(end_line || line_number) end |
#pinned_version? ⇒ Boolean
19 20 21 |
# File 'lib/gemxray/gem_entry.rb', line 19 def pinned_version? !version.nil? end |
#require_names ⇒ Object
40 41 42 43 44 45 46 47 48 49 |
# File 'lib/gemxray/gem_entry.rb', line 40 def require_names case autorequire when false [] when nil default_require_names else Array(autorequire).compact.map(&:to_s).uniq end end |