sinatra-rake-routes 0.0.2 → 0.0.3

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: 20a8a6eb82256cc8d036ce1ed352f4d8594f047e
4
- data.tar.gz: d59ebfe726be080845da89cb1836018e9bc082fb
3
+ metadata.gz: 407b7955269b5c168134db5d9281869200d38d11
4
+ data.tar.gz: d5e39656762c0dede87e9589aa7cfe0fb76164e1
5
5
  SHA512:
6
- metadata.gz: 36cfdde45a9cdc8eb31f07a90c39105d8e799ba30a723aabd66ebe13d7159c9d6c390479a9378adfc5175f95649dbe7bb992d0beb46bb35cc5a96d794d4eaedb
7
- data.tar.gz: 04a45094da7de351568798efc787d150a484d4fd2a7ecc9e9e207353ccfa5ad9c9b1845c7ca4da462ecab74bd9e67618eac8f2644f0a94ed06d687a647f9f384
6
+ metadata.gz: a1a174a8a372d2bbae676ea191e2c5e3d74d8cd8a063c5c5552958eb893ebab0c5c6bbb85a32162da3c32659d4e4973915972370a5ecc197e447ff054738a512
7
+ data.tar.gz: 3294f3f0b7be56e948258183e5ef34c7432d1621faca77493173adf02738e022677bd6d34a770ea694661f1c697d1c2d8dcd3882d4b8dcefc81b5e2c73591fe5
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # sinatra-rake-routes [![Circle CI](https://circleci.com/gh/wealthsimple/sinatra-rake-routes.svg?style=svg)](https://circleci.com/gh/wealthsimple/sinatra-rake-routes)
2
2
 
3
- `rake routes` command for Sinatra applications
3
+ `rake routes` command for Sinatra applications for printing out all defined routes.
4
4
 
5
5
  ## Usage
6
6
 
@@ -24,24 +24,28 @@ class SinatraRakeRoutes
24
24
  @@app_class
25
25
  end
26
26
 
27
- def self.output
27
+ def to_s
28
28
  str = []
29
- app_routes = app_class.routes
30
- app_routes.each do |http_method, routes_list|
29
+ self.class.app_class.routes.each do |http_method, routes|
31
30
  str << http_method
32
- routes = []
33
- routes_list.each do |item|
34
- source = item[0].source
35
- source.gsub!(HYPHEN_REGEX.source, "-")
36
- source.gsub!(PERIOD_REGEX.source, ".")
37
- source.gsub!(SPLAT_REGEX.source, "*")
38
- item[1].each do |s|
39
- source.sub!(NAMED_PARAM_REGEX_SOURCE, ":#{s}")
40
- end
41
- routes << source[2...-2]
42
- end
31
+ routes = routes.map { |route| decompile_route(route) }
43
32
  str << routes.sort.join("\n") + "\n"
44
33
  end
45
34
  str.join("\n")
46
35
  end
36
+
37
+ private
38
+
39
+ def decompile_route(route)
40
+ source = route[0].source
41
+ params = route[1]
42
+ source.gsub!(HYPHEN_REGEX.source, "-")
43
+ source.gsub!(PERIOD_REGEX.source, ".")
44
+ source.gsub!(SPLAT_REGEX.source, "*")
45
+ params.each do |param|
46
+ source.sub!(NAMED_PARAM_REGEX_SOURCE, ":#{param}")
47
+ end
48
+ # Remove leading "\A" and trailing "\z"
49
+ source[2...-2]
50
+ end
47
51
  end
@@ -1,6 +1,6 @@
1
1
  desc "Print out all defined routes"
2
2
  task :routes do
3
- puts SinatraRakeRoutes.output
3
+ puts SinatraRakeRoutes.new.to_s
4
4
  end
5
5
 
6
6
  if Rake::Task.task_defined?("configure_routes")
@@ -1,3 +1,3 @@
1
1
  class SinatraRakeRoutes
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -9,19 +9,18 @@ Gem::Specification.new do |gem|
9
9
  gem.author = "Peter Graham"
10
10
  gem.summary = %q{`rake routes` command for Sinatra applications}
11
11
  gem.email = %q{peter@wealthsimple.com}
12
- gem.description = %q{Rails' `rake routes` command for Sinatra applications}
13
- gem.homepage = %q{https://github.com/wealthsimple}
12
+ gem.description = %q{Rake command for printing out all defined routes in Sinatra applications}
13
+ gem.homepage = %q{https://github.com/wealthsimple/sinatra-rake-routes}
14
14
  gem.files = `git ls-files`.split("\n")
15
15
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
16
16
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
17
17
  gem.require_paths = ["lib"]
18
18
  gem.licenses = ["MIT"]
19
19
 
20
- gem.add_dependency "rake"
20
+ gem.required_ruby_version = ">= 1.9.3"
21
+ gem.add_dependency "rake", ">= 0"
21
22
 
22
- gem.add_development_dependency "rspec"
23
- gem.add_development_dependency "rspec-collection_matchers"
24
- gem.add_development_dependency "rspec-its"
25
- gem.add_development_dependency "sinatra"
26
- gem.add_development_dependency "rspec_junit_formatter"
23
+ gem.add_development_dependency "rspec", "~> 3.4"
24
+ gem.add_development_dependency "sinatra", "~> 1.4"
25
+ gem.add_development_dependency "rspec_junit_formatter", "~> 0.2"
27
26
  end
@@ -17,10 +17,10 @@ describe SinatraRakeRoutes do
17
17
  end
18
18
  end
19
19
 
20
- describe ".output" do
20
+ describe "#to_s" do
21
21
  it "outputs routes" do
22
22
  described_class.set_app_class(SampleApp)
23
- expect(described_class.output).to eq(File.read('./spec/fixtures/sample_app_output.txt'))
23
+ expect(described_class.new.to_s).to eq(File.read('./spec/fixtures/sample_app_output.txt'))
24
24
  end
25
25
  end
26
26
  end
@@ -1,6 +1,4 @@
1
1
  require 'rspec'
2
- require 'rspec/collection_matchers'
3
- require 'rspec/its'
4
2
 
5
3
  Dir["./spec/support/**/*.rb"].each { |f| require f }
6
4
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sinatra-rake-routes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Graham
@@ -28,73 +28,45 @@ dependencies:
28
28
  name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: rspec-collection_matchers
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
31
+ - - "~>"
46
32
  - !ruby/object:Gem::Version
47
- version: '0'
33
+ version: '3.4'
48
34
  type: :development
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
- - - ">="
38
+ - - "~>"
53
39
  - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: rspec-its
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
40
+ version: '3.4'
69
41
  - !ruby/object:Gem::Dependency
70
42
  name: sinatra
71
43
  requirement: !ruby/object:Gem::Requirement
72
44
  requirements:
73
- - - ">="
45
+ - - "~>"
74
46
  - !ruby/object:Gem::Version
75
- version: '0'
47
+ version: '1.4'
76
48
  type: :development
77
49
  prerelease: false
78
50
  version_requirements: !ruby/object:Gem::Requirement
79
51
  requirements:
80
- - - ">="
52
+ - - "~>"
81
53
  - !ruby/object:Gem::Version
82
- version: '0'
54
+ version: '1.4'
83
55
  - !ruby/object:Gem::Dependency
84
56
  name: rspec_junit_formatter
85
57
  requirement: !ruby/object:Gem::Requirement
86
58
  requirements:
87
- - - ">="
59
+ - - "~>"
88
60
  - !ruby/object:Gem::Version
89
- version: '0'
61
+ version: '0.2'
90
62
  type: :development
91
63
  prerelease: false
92
64
  version_requirements: !ruby/object:Gem::Requirement
93
65
  requirements:
94
- - - ">="
66
+ - - "~>"
95
67
  - !ruby/object:Gem::Version
96
- version: '0'
97
- description: Rails' `rake routes` command for Sinatra applications
68
+ version: '0.2'
69
+ description: Rake command for printing out all defined routes in Sinatra applications
98
70
  email: peter@wealthsimple.com
99
71
  executables: []
100
72
  extensions: []
@@ -115,7 +87,7 @@ files:
115
87
  - spec/spec_helper.rb
116
88
  - spec/support/sample_app.rb
117
89
  - spec/version_spec.rb
118
- homepage: https://github.com/wealthsimple
90
+ homepage: https://github.com/wealthsimple/sinatra-rake-routes
119
91
  licenses:
120
92
  - MIT
121
93
  metadata: {}
@@ -127,7 +99,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
127
99
  requirements:
128
100
  - - ">="
129
101
  - !ruby/object:Gem::Version
130
- version: '0'
102
+ version: 1.9.3
131
103
  required_rubygems_version: !ruby/object:Gem::Requirement
132
104
  requirements:
133
105
  - - ">="