Module: GemfileLocker::GemEntry::GitRef
- Included in:
- GemfileLocker::GemEntry
- Defined in:
- lib/gemfile_locker/gem_entry/git_ref.rb
Instance Method Summary collapse
- #has_git_tag? ⇒ Boolean
- #lock(options) ⇒ Object
- #remove_git_ref ⇒ Object
-
#set_git_ref(ref) ⇒ Object
rubocop:disable AccessorMethodName.
- #unlock ⇒ Object
Instance Method Details
#has_git_tag? ⇒ Boolean
15 16 17 |
# File 'lib/gemfile_locker/gem_entry/git_ref.rb', line 15 def has_git_tag? git_option_nodes.any? { |pair| pair.children[0].children[0] == :tag } end |
#lock(options) ⇒ Object
4 5 6 7 8 |
# File 'lib/gemfile_locker/gem_entry/git_ref.rb', line 4 def lock() git_ref = [:git_ref] set_git_ref(git_ref) if git_ref && !has_git_tag? super end |
#remove_git_ref ⇒ Object
28 29 30 31 |
# File 'lib/gemfile_locker/gem_entry/git_ref.rb', line 28 def remove_git_ref ref_node = ref_option_node remove_node_with_comma(ref_node) if ref_node end |
#set_git_ref(ref) ⇒ Object
rubocop:disable AccessorMethodName
19 20 21 22 23 24 25 26 |
# File 'lib/gemfile_locker/gem_entry/git_ref.rb', line 19 def set_git_ref(ref) # rubocop:disable AccessorMethodName ref_node = ref_option_node return replace_string_node(ref_node.children[1], ref) if ref_node git_nodes = git_option_nodes insert_after_node = git_nodes.any? ? git_nodes.last : node.children.last quote = name_quote rewriter.insert_after(insert_after_node.loc.expression.end, ", ref: #{quote}#{ref}#{quote}") end |
#unlock ⇒ Object
10 11 12 13 |
# File 'lib/gemfile_locker/gem_entry/git_ref.rb', line 10 def unlock remove_git_ref super end |