api_taster 0.4.1 → 0.4.2

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.
data/README.md CHANGED
@@ -81,7 +81,7 @@ Instead of manually finding out which route definitions you need, API Taster pro
81
81
 
82
82
  APIs evolve - especially during the development stage. To keep `ApiTaster.routes` in sync with your route definitions, API Taster provides a warning page that shows you the definitions that are obsolete/mismatched therefore you could correct or remove them.
83
83
 
84
- ![](http://i.imgur.com/Fo7kQ.png)
84
+ ![](http://i.imgur.com/qK7g5.png)
85
85
 
86
86
  ### Use with an Engine
87
87
 
data/lib/api_taster.rb CHANGED
@@ -8,11 +8,10 @@ module ApiTaster
8
8
  def self.routes(&block)
9
9
  Route.route_set = Rails.application.routes
10
10
  Route.inputs = {}
11
- Route.missing_definitions = []
12
11
  Route.obsolete_definitions = []
13
12
 
14
13
  Mapper.instance_eval(&block)
15
-
16
- Route.calculate_missing_definitions
17
14
  end
15
+
16
+ class Exception < ::Exception; end
18
17
  end
@@ -10,6 +10,10 @@ module ApiTaster
10
10
  _routes = []
11
11
  i = -1
12
12
 
13
+ unless route_set.respond_to?(:routes)
14
+ raise ApiTaster::Exception.new('Route definitions are missing, have you defined ApiTaster.routes?')
15
+ end
16
+
13
17
  route_set.routes.each do |route|
14
18
  next if route.app.is_a?(Sprockets::Environment)
15
19
  next if route.app == ApiTaster::Engine
@@ -51,12 +55,8 @@ module ApiTaster
51
55
  inputs[route[:id]].collect { |input| split_input(input, route) }
52
56
  end
53
57
 
54
- def calculate_missing_definitions
55
- routes.each do |route|
56
- if undefined_route?(route)
57
- self.missing_definitions << route
58
- end
59
- end
58
+ def missing_definitions
59
+ routes.select { |route| undefined_route?(route) }
60
60
  end
61
61
 
62
62
  private
@@ -1,3 +1,3 @@
1
1
  module ApiTaster
2
- VERSION = "0.4.1"
2
+ VERSION = "0.4.2"
3
3
  end
data/spec/route_spec.rb CHANGED
@@ -33,6 +33,13 @@ module ApiTaster
33
33
  Route.routes.first.should == app_home_route
34
34
  end
35
35
 
36
+ context "undefined ApiTaster.routes" do
37
+ it "errors out" do
38
+ Route.route_set = nil
39
+ expect { Route.routes }.to raise_exception(ApiTaster::Exception)
40
+ end
41
+ end
42
+
36
43
  it "#grouped_routes" do
37
44
  Route.grouped_routes.has_key?('application').should == true
38
45
  Route.grouped_routes.has_key?('users').should == true
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: api_taster
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -354,7 +354,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
354
354
  version: '0'
355
355
  segments:
356
356
  - 0
357
- hash: -548788455716746857
357
+ hash: -2192023684559152796
358
358
  required_rubygems_version: !ruby/object:Gem::Requirement
359
359
  none: false
360
360
  requirements:
@@ -363,7 +363,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
363
363
  version: '0'
364
364
  segments:
365
365
  - 0
366
- hash: -548788455716746857
366
+ hash: -2192023684559152796
367
367
  requirements: []
368
368
  rubyforge_project:
369
369
  rubygems_version: 1.8.24