Module: GemfileLocker::GemEntry::Versions
- Included in:
- GemfileLocker::GemEntry
- Defined in:
- lib/gemfile_locker/gem_entry/versions.rb
Constant Summary collapse
- EXTRA_VERSION_REGEXP =
/\A[><]/
Instance Method Summary collapse
- #lock(options) ⇒ Object
- #locked? ⇒ Boolean
- #remove_version ⇒ Object
-
#set_version(version) ⇒ Object
rubocop:disable AccessorMethodName.
- #unlock ⇒ Object
Instance Method Details
#lock(options) ⇒ Object
6 7 8 9 10 |
# File 'lib/gemfile_locker/gem_entry/versions.rb', line 6 def lock() version = [:version] set_version(version) if version super end |
#locked? ⇒ Boolean
17 18 19 |
# File 'lib/gemfile_locker/gem_entry/versions.rb', line 17 def locked? version_nodes.any? end |
#remove_version ⇒ Object
31 32 33 34 35 36 37 |
# File 'lib/gemfile_locker/gem_entry/versions.rb', line 31 def remove_version # If multiple version strings are given, keep that which start with `>, >=, <, <=`. version_nodes = self.version_nodes(strict: ->(versions) { versions.size > 1 }) version_nodes.each do |arg_node| remove_node_with_comma(arg_node) end end |
#set_version(version) ⇒ Object
rubocop:disable AccessorMethodName
21 22 23 24 25 26 27 28 29 |
# File 'lib/gemfile_locker/gem_entry/versions.rb', line 21 def set_version(version) # rubocop:disable AccessorMethodName version_nodes = self.version_nodes if version_nodes.any? replace_string_node(version_nodes.first, version) else quote = name_quote rewriter.insert_after(node.children[2].loc.end, ", #{quote}#{version}#{quote}") end end |
#unlock ⇒ Object
12 13 14 15 |
# File 'lib/gemfile_locker/gem_entry/versions.rb', line 12 def unlock remove_version super end |