drg 0.13.0 → 0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1112cb6d2987ef5237306fa6801f3497c3c20c93
4
- data.tar.gz: a47ed1229ca8f054bbabe98514ba088279c02ef3
3
+ metadata.gz: 85174e3e29ba49bc66bfe16c2bbb52f899d40116
4
+ data.tar.gz: 5785cf7041e4c15d485573440c4f751866fb0180
5
5
  SHA512:
6
- metadata.gz: 27c6b1c95f58e60aeec9eb9448a7c7a1e4faaad6504e37c8bd9fc66bbb05a52a2312e1c813a643c7788b445311f094c8233c219d48fa90a8c6349c401cd0aa4f
7
- data.tar.gz: b39b4926748275e3af5be059e09ae9c0b3524aa4e607103cbdf234cd3d12986d3b35274139d778827db347025d7f834b05285219b7427132ea347f494e9646ec
6
+ metadata.gz: 08141b4e861f2cf2ba363411d5d560a27ad80b03d9bbe0262fcd5034a2216248171b0de5ac3040b3f6e6b12f9708f5923ebf6f650765b76aa4b1b86a3d908859
7
+ data.tar.gz: 7f2cc1e22edc346890f195623248e0afbed948cfe79647951f810dad05e5afe8028133000b9cf6b82685339d866d5f68c3adfb3ddec7e11d0ee62097d46a5ad8
data/drg.gemspec CHANGED
@@ -15,8 +15,7 @@ Gem::Specification.new do |spec|
15
15
  spec.executables = []
16
16
  spec.require_paths = ["lib"]
17
17
 
18
- # spec.add_dependency 'ruby_parser', '>= 3.7.0', '< 4.0.0'
19
- # spec.add_dependency 'ruby2ruby', '>= 2.2.0', '< 3.0.0'
18
+ spec.add_dependency 'ruby_parser', '>= 3.7.0', '< 4.0.0'
20
19
  spec.add_dependency 'bundler', '~> 1.10'
21
20
  spec.add_dependency 'duck_puncher', '>= 2.0.0', '<= 3.0.0'
22
21
  spec.add_dependency 'highline', '~> 1.7'
@@ -0,0 +1,24 @@
1
+ require 'ruby_parser'
2
+
3
+ module DRG
4
+ class Ruby
5
+ class Const
6
+ CONSTANT_DEFS = [:class, :module, :cdecl]
7
+
8
+ def initialize(file)
9
+ @parser = RubyParser.new.parse File.read(file)
10
+ end
11
+
12
+ def name(sexp = @parser, list = [])
13
+ sexp = Array(sexp)
14
+ if sexp[1].is_a?(Sexp) && sexp[1][0] == :colon2
15
+ parts = sexp[1].to_a.flatten
16
+ list.concat parts.drop(parts.size / 2)
17
+ elsif CONSTANT_DEFS.include?(sexp[0])
18
+ name(sexp.compact[2], list << sexp[1].to_s)
19
+ end
20
+ list.join('::')
21
+ end
22
+ end
23
+ end
24
+ end
data/lib/drg/ruby.rb ADDED
@@ -0,0 +1,50 @@
1
+ require 'ruby_parser'
2
+
3
+ module DRG
4
+ class Ruby
5
+ attr_reader :parser
6
+
7
+ def initialize(file)
8
+ @parser = RubyParser.new.parse File.read(file)
9
+ end
10
+
11
+ def modules
12
+ end
13
+
14
+ class Klass < Struct.new(:sexp)
15
+
16
+ def includes
17
+ end
18
+
19
+ def extends
20
+ end
21
+
22
+ def funcs
23
+ sexp.find_nodes(:defn) + sexp.find_nodes(:defs)
24
+ end
25
+
26
+ def instance_vars
27
+ end
28
+
29
+ def class_vars
30
+ end
31
+ end
32
+
33
+ class Func
34
+ def name
35
+ end
36
+
37
+ def args
38
+ end
39
+
40
+ def private?
41
+ end
42
+
43
+ def conditions
44
+ end
45
+ end
46
+
47
+ class Condition
48
+ end
49
+ end
50
+ end
@@ -1,6 +1,6 @@
1
1
  module DRG
2
2
  module Tasks
3
- class ActivePinnner
3
+ class ActivePinner
4
4
  include Log
5
5
 
6
6
  attr_reader :gemfile, :type
@@ -66,8 +66,8 @@ module DRG
66
66
  new_versions(name, current_version).select { |version|
67
67
  segments = version.scan(/\d+/)
68
68
  major = segments[0].to_i
69
- patch = segments[-1].to_i
70
69
  minor = segments[1].to_i
70
+ patch = segments[-1].to_i
71
71
  patch > current_version.segments[-1] && minor == current_version.segments[1] && major == current_version.segments[0]
72
72
  }.first
73
73
  end
@@ -101,7 +101,7 @@ module DRG
101
101
  # @param [Array] list of a gem version's segments
102
102
  # @param [Array] other_list of another gem version's segments
103
103
  def higher?(list, other_list)
104
- list[0].to_i > other_list[0].to_i || list[1].to_i > other_list[1].to_i || list[2].to_i > other_list[2].to_i
104
+ (0..2).to_a.any? { |i| list[i].to_i > other_list[i].to_i }
105
105
  end
106
106
  end
107
107
  end
data/lib/drg/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module DRG
2
- VERSION = '0.13.0'.freeze
2
+ VERSION = '0.13.1'.freeze
3
3
  end
data/lib/drg.rb CHANGED
@@ -1,27 +1,27 @@
1
1
  require 'ostruct'
2
2
  require 'set'
3
3
  require 'bundler'
4
- require 'drg/version'
5
4
  require 'duck_puncher'
6
5
  require 'highline/import'
7
6
 
8
- # defines #clone!
7
+ # defines Object#clone!
9
8
  DuckPuncher.punch! :Object
10
9
 
11
- module DRG
12
- # autoload :FileReader, 'drg/file_reader'
13
- # autoload :Scanner, 'drg/scanner'
14
- # autoload :Judge, 'drg/judge'
15
- # autoload :FileContext, 'drg/file_context'
10
+ require 'drg/version'
16
11
 
12
+ module DRG
17
13
  module Tasks
18
14
  autoload :Updater, 'drg/tasks/updater'
19
15
  autoload :Pinner, 'drg/tasks/pinner'
20
- autoload :ActivePinnner, 'drg/tasks/active_pinner'
16
+ autoload :ActivePinner, 'drg/tasks/active_pinner'
21
17
  autoload :Gemfile, 'drg/tasks/gemfile'
22
18
  autoload :GemfileLine, 'drg/tasks/gemfile_line'
23
19
  autoload :Log, 'drg/tasks/log'
24
20
  end
21
+
22
+ class Ruby
23
+ autoload :Const, 'drg/ruby/const'
24
+ end
25
25
  end
26
26
 
27
27
  load 'tasks/drg.rake'
data/lib/tasks/drg.rake CHANGED
@@ -29,17 +29,17 @@ namespace :drg do
29
29
 
30
30
  desc 'Pins all gems [or the requested gem] to the latest version'
31
31
  task :latest, [:gem_name] do |_, options|
32
- DRG::Tasks::ActivePinnner.new(:available).perform(options[:gem_name])
32
+ DRG::Tasks::ActivePinner.new(:available).perform(options[:gem_name])
33
33
  end
34
34
 
35
35
  desc 'Pins all gems [or the requested gem] to the latest available patch version'
36
36
  task :minor_latest, [:gem_name] do |_, options|
37
- DRG::Tasks::ActivePinnner.new(:minor).perform(options[:gem_name])
37
+ DRG::Tasks::ActivePinner.new(:minor).perform(options[:gem_name])
38
38
  end
39
39
 
40
40
  desc 'Pins all gems [or the requested gem] to the latest available minor version'
41
41
  task :patch_latest, [:gem_name] do |_, options|
42
- DRG::Tasks::ActivePinnner.new(:patch).perform(options[:gem_name])
42
+ DRG::Tasks::ActivePinner.new(:patch).perform(options[:gem_name])
43
43
  end
44
44
 
45
45
  # aliases
metadata CHANGED
@@ -1,15 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: drg
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0
4
+ version: 0.13.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Buckley
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-26 00:00:00.000000000 Z
11
+ date: 2015-10-03 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: ruby_parser
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 3.7.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: 4.0.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 3.7.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: 4.0.0
13
33
  - !ruby/object:Gem::Dependency
14
34
  name: bundler
15
35
  requirement: !ruby/object:Gem::Requirement
@@ -115,6 +135,8 @@ files:
115
135
  - lib/drg/file_reader.rb
116
136
  - lib/drg/judge.rb
117
137
  - lib/drg/let.rb
138
+ - lib/drg/ruby.rb
139
+ - lib/drg/ruby/const.rb
118
140
  - lib/drg/scanner.rb
119
141
  - lib/drg/tasks/active_pinner.rb
120
142
  - lib/drg/tasks/gemfile.rb