Module: BundlerFu::Lockfile::RootNode
- Defined in:
- lib/bundler-fu/lockfile.rb
Overview
{{{1
Instance Method Summary collapse
-
#_get_deps(deps, w_bang = false) ⇒ Object
{{{2.
-
#_get_specs(specs) ⇒ Object
}}}2.
- #get_dependencies ⇒ Object
-
#get_gems ⇒ Object
}}}2.
-
#get_gits ⇒ Object
{{{2.
-
#get_paths ⇒ Object
}}}2.
- #get_platforms ⇒ Object
-
#get_remote ⇒ Object
}}}2.
Instance Method Details
#_get_deps(deps, w_bang = false) ⇒ Object
{{{2
20 21 22 23 24 25 26 27 28 29 |
# File 'lib/bundler-fu/lockfile.rb', line 20 def _get_deps(deps, w_bang = false) # {{{2 Hash[deps.map do |x| v = x.version.respond_to?(:version) ? x.version.version.value.text_value : nil g = x.gem.text_value d1 = { gem: g, version: v } d2 = w_bang ? d1.merge(bang: !x.bang.text_value.empty?) : d1 [g, d2] end] end |
#_get_specs(specs) ⇒ Object
}}}2
31 32 33 34 35 36 37 38 |
# File 'lib/bundler-fu/lockfile.rb', line 31 def _get_specs(specs) # {{{2 Hash[specs.map do |x| g = x.gem.text_value d = { gem: g, version: x.version.value.text_value, deps: _get_deps(x.deps.elements) } [g, d] end] end |
#get_dependencies ⇒ Object
76 77 78 |
# File 'lib/bundler-fu/lockfile.rb', line 76 def get_dependencies _get_deps dependencies.dependencies.elements, true end |
#get_gems ⇒ Object
}}}2
72 73 74 |
# File 'lib/bundler-fu/lockfile.rb', line 72 def get_gems _get_specs gems.specs.specs.elements end |
#get_gits ⇒ Object
{{{2
48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/bundler-fu/lockfile.rb', line 48 def get_gits # {{{2 Hash[gits.elements.map do |x| b = x.branch.respond_to?(:branch) ? x.branch.branch.text_value : nil s = _get_specs x.specs.specs.elements g, v = s.first[1].values_at(:gem, :version) d = { gem: g, version: v, remote: x.remote.url.text_value, revision: x.revision.revision.text_value, branch: b, specs: s } [g, d] end] end |
#get_paths ⇒ Object
}}}2
62 63 64 65 66 67 68 69 70 |
# File 'lib/bundler-fu/lockfile.rb', line 62 def get_paths # {{{2 Hash[paths.elements.map do |x| s = _get_specs x.specs.specs.elements g, v = s.first[1].values_at(:gem, :version) d = { gem: g, version: v, remote: x.remote.url.text_value, specs: s } [g, d] end] end |
#get_platforms ⇒ Object
44 45 46 |
# File 'lib/bundler-fu/lockfile.rb', line 44 def get_platforms platforms.platforms.elements.map { |x| x.name.text_value } end |
#get_remote ⇒ Object
}}}2
40 41 42 |
# File 'lib/bundler-fu/lockfile.rb', line 40 def get_remote gems.remote.url.text_value end |