drg 0.13.0 → 0.13.1

Sign up to get free protection for your applications and to get access to all the features.
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