class Gemologist::Gemfile::Dependency
Constants
- METHOD_NAMES
Public Class Methods
method_names()
click to toggle source
# File lib/gemologist/gemfile/dependency.rb, line 13 def self.method_names METHOD_NAMES end
Public Instance Methods
groups()
click to toggle source
# File lib/gemologist/gemfile/dependency.rb, line 17 def groups @groups ||= (groups_via_block + groups_via_option).map(&:to_sym) end
options()
click to toggle source
# File lib/gemologist/gemfile/dependency.rb, line 21 def options @options ||= symbolize_keys(AST.concretize(options_node) || {}) end
Private Instance Methods
group_node()
click to toggle source
# File lib/gemologist/gemfile/dependency.rb, line 53 def group_node candidates = node.each_ancestor(:block).map { |block_node| block_node.children.first } candidates.find do |send_node| receiver_node, message, = *send_node receiver_node.nil? && message == :group end end
groups_via_block()
click to toggle source
# File lib/gemologist/gemfile/dependency.rb, line 27 def groups_via_block return [] unless group_node _receiver_node, _message, *arg_nodes = *group_node arg_nodes.map { |node| AST.concretize(node) } end
groups_via_option()
click to toggle source
# File lib/gemologist/gemfile/dependency.rb, line 34 def groups_via_option Array(options[:group]) end
options_node()
click to toggle source
# File lib/gemologist/gemfile/dependency.rb, line 43 def options_node node = trailing_nodes.last if node&.hash_type? node else nil end end
version_nodes()
click to toggle source
github.com/bundler/bundler/blob/v1.7.11/lib/bundler/dsl.rb#L68-L70
# File lib/gemologist/gemfile/dependency.rb, line 39 def version_nodes @version_nodes ||= trailing_nodes - [options_node] end