Sha256: 500fe2fc0a7534ef9fdcbd92bd1f277ffceb11c13d46c930ce042b14f3c89156

Contents?: true

Size: 882 Bytes

Versions: 5

Compression:

Stored size: 882 Bytes

Contents

#!/usr/bin/env ruby

require 'qor_dsl'

class Gemfile
  include Qor::Dsl
  default_configs [ENV['BUNDLE_GEMFILE'], File.join(File.dirname(__FILE__), 'Gemfile')]

  node :source
  node :gem

  node :group do
    node :gem
  end

  node :example do
    node :gem, :inherit => true
  end
end

# Methods for query
Gemfile.first(:gem)
Gemfile.first(:gem, 'unicorn')

Gemfile.find(:gem)
Gemfile.find(:gem, 'rails')
Gemfile.find(:gem) do |n|
  !!n.options[:git].nil?
end

Gemfile.find(:group, 'development').find(:gem)

Gemfile.deep_find(:gem)
Gemfile.deep_find(:gem) do |n|
  # Find all gems used in development environment
  parent = n.parent
  parent.root? || ((parent.config_name == :group) && parent.name == :development)
end

# Methods for node
node = Gemfile.find(:gem, 'devise')
node.name
node.value
node.options
node.data
node.config
node.parent
node.parents
node.root
node.root?

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
qor_dsl-0.1.5 example/gemfile.rb
qor_dsl-0.1.4 example/gemfile.rb
qor_dsl-0.1.3 example/gemfile.rb
qor_dsl-0.1.1 example/gemfile.rb
qor_dsl-0.1.0 example/gemfile.rb