ryan 1.0.0 → 1.1.0
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 +4 -4
- data/.rspec +3 -0
- data/.travis.yml +3 -1
- data/CHANGELOG.md +14 -0
- data/Gemfile +0 -2
- data/README.md +10 -10
- data/lib/ryan.rb +9 -3
- data/lib/ryan/version.rb +1 -1
- data/ryan.gemspec +6 -3
- metadata +43 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 311a79ef6392e001d28be5a320a3239400af79f6
|
4
|
+
data.tar.gz: 591f03e947a54f8483f5e5e835ad40153b72049c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ea141cb6dfe9455381111d6e39337b05c2512ec45fa336f59af7214276fcb8fc80fbcdff1dd2a2b338c024d117b6ffd6ce44ae1e5ad9085384bc2ac28486d7f9
|
7
|
+
data.tar.gz: b47dc507eb3a0f5d16080df33873560a73ad57747894fee7fcff4ac539d38b21aac59c71e7585b24774142f19e78f7cc09de0a1e4dc5c1aaf9fa50b930dbd6c3
|
data/.rspec
ADDED
data/.travis.yml
CHANGED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
# Change Log
|
2
|
+
All notable changes to this project will be documented in this file.
|
3
|
+
|
4
|
+
The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
5
|
+
and this project adheres to [Semantic Versioning](http://semver.org/).
|
6
|
+
|
7
|
+
## [1.1.0] - 2017-02-20
|
8
|
+
### Added
|
9
|
+
- Explicit Ruby version requirement with `spec.required_ruby_version = '>= 1.9.3'`
|
10
|
+
- Allowed `Ryan.new` initializer to also accept raw ruby code string instead of just path to file
|
11
|
+
- Ryan.root method to make things easier
|
12
|
+
|
13
|
+
## [1.0.0] - 2015-12-05
|
14
|
+
- Core functionality
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,21 +1,21 @@
|
|
1
|
-
# Ryan
|
1
|
+
# Ryan [](http://badge.fury.io/rb/ryan) [](https://travis-ci.org/ridiculous/ryan)
|
2
2
|
|
3
|
-
A wrapper around the awesome [RubyParser](https://github.com/seattlerb/ruby_parser) gem that provides an OO interface for
|
3
|
+
A wrapper around the awesome [RubyParser](https://github.com/seattlerb/ruby_parser) gem that provides an OO interface for
|
4
4
|
reading Ruby code.
|
5
5
|
|
6
6
|
## Installation
|
7
7
|
|
8
8
|
```ruby
|
9
|
-
gem 'ryan'
|
9
|
+
gem 'ryan', '~> 1.1.0'
|
10
10
|
```
|
11
11
|
|
12
12
|
## Usage
|
13
13
|
|
14
|
-
Give Ryan a Ruby file to play with. Test it out in an IRB session with `bin/console`
|
14
|
+
Give Ryan a Ruby file or code string to play with. Test it out in an IRB session with `bin/console`
|
15
15
|
|
16
16
|
```ruby
|
17
|
-
ryan = Ryan.new FIXTURE_ROOT.join('report.rb')
|
18
|
-
ryan.name
|
17
|
+
ryan = Ryan.new FIXTURE_ROOT.join('report.rb') # or Ryan.new("<valid ruby code here>")
|
18
|
+
ryan.name
|
19
19
|
#=> "Report"
|
20
20
|
ryan.class?
|
21
21
|
#=> true
|
@@ -23,11 +23,11 @@ ryan.module?
|
|
23
23
|
#=> false
|
24
24
|
ryan.initialization_args
|
25
25
|
#=> [:message]
|
26
|
-
ryan.funcs.length
|
26
|
+
ryan.funcs.length
|
27
27
|
#=> 12
|
28
|
-
ryan.funcs.reject(&:private?).length
|
28
|
+
ryan.funcs.reject(&:private?).length
|
29
29
|
#=> 10
|
30
|
-
ryan.funcs.first.name
|
30
|
+
ryan.funcs.first.name
|
31
31
|
#=> :enqueue
|
32
32
|
```
|
33
33
|
|
@@ -92,7 +92,7 @@ nested_condition.if_text
|
|
92
92
|
|
93
93
|
## Development
|
94
94
|
|
95
|
-
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake` to run the tests.
|
95
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake` to run the tests.
|
96
96
|
You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
97
97
|
|
98
98
|
## Contributing
|
data/lib/ryan.rb
CHANGED
@@ -18,9 +18,15 @@ class Ryan
|
|
18
18
|
def_delegators :const,
|
19
19
|
:name, :funcs, :type, :initialization_args, :func_by_name, :class?, :module?
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
|
21
|
+
def self.root
|
22
|
+
Pathname.new File.expand_path('../..', __FILE__)
|
23
|
+
end
|
24
|
+
|
25
|
+
# @note Attempts to read a file if a path is given, otherwise threats input as ruby code string
|
26
|
+
# @param [Pathname, String] input
|
27
|
+
def initialize(input)
|
28
|
+
input = File.read(input) if File.file?(input)
|
29
|
+
@sexp = RubyParser.new.parse(input)
|
24
30
|
@const = Const.new(sexp)
|
25
31
|
end
|
26
32
|
end
|
data/lib/ryan/version.rb
CHANGED
data/ryan.gemspec
CHANGED
@@ -18,10 +18,13 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.
|
22
|
-
spec.add_development_dependency "rake", "~> 10.0"
|
23
|
-
spec.add_development_dependency "rspec", ">= 3.2", "< 4"
|
21
|
+
spec.required_ruby_version = '>= 1.9.3'
|
24
22
|
|
25
23
|
spec.add_dependency 'ruby_parser', '>= 3.7.0', '< 4.0.0'
|
26
24
|
spec.add_dependency 'ruby2ruby', '~> 2.2'
|
25
|
+
|
26
|
+
spec.add_development_dependency "bundler", "~> 1.10"
|
27
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
28
|
+
spec.add_development_dependency "rspec", ">= 3.2", "< 4"
|
29
|
+
spec.add_development_dependency 'pry', '~> 0.10.4'
|
27
30
|
end
|
metadata
CHANGED
@@ -1,15 +1,49 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ryan
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Buckley
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-02-20 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
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: ruby2ruby
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '2.2'
|
40
|
+
type: :runtime
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - "~>"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '2.2'
|
13
47
|
- !ruby/object:Gem::Dependency
|
14
48
|
name: bundler
|
15
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -59,39 +93,19 @@ dependencies:
|
|
59
93
|
- !ruby/object:Gem::Version
|
60
94
|
version: '4'
|
61
95
|
- !ruby/object:Gem::Dependency
|
62
|
-
name:
|
63
|
-
requirement: !ruby/object:Gem::Requirement
|
64
|
-
requirements:
|
65
|
-
- - ">="
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
version: 3.7.0
|
68
|
-
- - "<"
|
69
|
-
- !ruby/object:Gem::Version
|
70
|
-
version: 4.0.0
|
71
|
-
type: :runtime
|
72
|
-
prerelease: false
|
73
|
-
version_requirements: !ruby/object:Gem::Requirement
|
74
|
-
requirements:
|
75
|
-
- - ">="
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: 3.7.0
|
78
|
-
- - "<"
|
79
|
-
- !ruby/object:Gem::Version
|
80
|
-
version: 4.0.0
|
81
|
-
- !ruby/object:Gem::Dependency
|
82
|
-
name: ruby2ruby
|
96
|
+
name: pry
|
83
97
|
requirement: !ruby/object:Gem::Requirement
|
84
98
|
requirements:
|
85
99
|
- - "~>"
|
86
100
|
- !ruby/object:Gem::Version
|
87
|
-
version:
|
88
|
-
type: :
|
101
|
+
version: 0.10.4
|
102
|
+
type: :development
|
89
103
|
prerelease: false
|
90
104
|
version_requirements: !ruby/object:Gem::Requirement
|
91
105
|
requirements:
|
92
106
|
- - "~>"
|
93
107
|
- !ruby/object:Gem::Version
|
94
|
-
version:
|
108
|
+
version: 0.10.4
|
95
109
|
description: A wrapper around the RubyParser gem
|
96
110
|
email:
|
97
111
|
- arebuckley@gmail.com
|
@@ -100,9 +114,11 @@ extensions: []
|
|
100
114
|
extra_rdoc_files: []
|
101
115
|
files:
|
102
116
|
- ".gitignore"
|
117
|
+
- ".rspec"
|
103
118
|
- ".ruby-gemset"
|
104
119
|
- ".ruby-version"
|
105
120
|
- ".travis.yml"
|
121
|
+
- CHANGELOG.md
|
106
122
|
- Gemfile
|
107
123
|
- README.md
|
108
124
|
- Rakefile
|
@@ -129,7 +145,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
129
145
|
requirements:
|
130
146
|
- - ">="
|
131
147
|
- !ruby/object:Gem::Version
|
132
|
-
version:
|
148
|
+
version: 1.9.3
|
133
149
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
134
150
|
requirements:
|
135
151
|
- - ">="
|