respond_with 0.0.2 → 0.0.3

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/.travis.yml CHANGED
@@ -2,7 +2,7 @@ language: ruby
2
2
  rvm:
3
3
  - 1.9.2
4
4
  - 1.9.3
5
- #- jruby-19mode
6
5
  - rbx-19mode
7
- - ruby-head
6
+ #- jruby-19mode
7
+ #- ruby-head
8
8
  script: "ruby -Itest:lib test/all.rb"
data/Changelog.md ADDED
@@ -0,0 +1,10 @@
1
+ # Changelog
2
+
3
+ ### 0.0.3
4
+
5
+ - Added support for setting status codes
6
+ - Updated tests to work with newer version of serialize
7
+
8
+ ### 0.0.2
9
+
10
+ - Supports `Accept: */*` header
data/Gemfile CHANGED
@@ -4,5 +4,7 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  group :test do
7
+ gem "activesupport"
8
+ gem "builder"
7
9
  gem "rack-test"
8
10
  end
@@ -1,10 +1,11 @@
1
1
  module RespondWith
2
2
  module Helpers
3
- def respond_with(obj)
3
+ def respond_with(obj, opts={})
4
4
  RespondWith::Response.new({
5
5
  :object => obj,
6
6
  :params => params,
7
7
  :request => request,
8
+ :options => opts,
8
9
  :app => self
9
10
  }).render
10
11
  end
@@ -5,11 +5,12 @@ module RespondWith
5
5
  attr :object
6
6
  attr :request
7
7
 
8
- def initialize(options={})
9
- @app = options[:app]
10
- @params = options[:params]
11
- @object = options[:object]
12
- @request = options[:request]
8
+ def initialize(opts={})
9
+ @app = opts[:app]
10
+ @params = opts[:params]
11
+ @object = opts[:object]
12
+ @request = opts[:request]
13
+ @options = opts[:options]
13
14
  end
14
15
 
15
16
  def render
@@ -18,6 +19,7 @@ module RespondWith
18
19
  if response_type.nil?
19
20
  @app.halt 406
20
21
  else
22
+ @app.status(@options[:status]) if @options[:status]
21
23
  @app.content_type(response_type)
22
24
  @object.to(response_type)
23
25
  end
@@ -1,3 +1,3 @@
1
1
  module RespondWith
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/respond_with.gemspec CHANGED
@@ -17,5 +17,5 @@ Gem::Specification.new do |gem|
17
17
  gem.add_runtime_dependency "sinatra"
18
18
  gem.add_runtime_dependency "negotiator"
19
19
  gem.add_runtime_dependency "mime-types"
20
- gem.add_runtime_dependency "serialize"
20
+ gem.add_runtime_dependency "serialize", "~> 1.0.0"
21
21
  end
@@ -2,7 +2,6 @@ require "test_helper"
2
2
 
3
3
  class RespondWithTest < MiniTest::Unit::TestCase
4
4
  include Rack::Test::Methods
5
-
6
5
  def setup
7
6
  @item_hash = { name: "Item", type: "Sample", size: 42 }
8
7
  end
@@ -71,6 +70,11 @@ class RespondWithTest < MiniTest::Unit::TestCase
71
70
  assert_equal "application/xml;charset=utf-8", last_response.content_type
72
71
  end
73
72
 
73
+ def test_response_code
74
+ get "/response-code"
75
+ assert_equal 202, last_response.status
76
+ end
77
+
74
78
  def app
75
79
  MyApp
76
80
  end
@@ -84,4 +88,8 @@ class MyApp < Sinatra::Base
84
88
  get "/item.:format" do
85
89
  respond_with ItemSerializer.new(MockItem.new)
86
90
  end
91
+
92
+ get "/response-code" do
93
+ respond_with ItemSerializer.new(MockItem.new), status: 202
94
+ end
87
95
  end
data/test/test_helper.rb CHANGED
@@ -4,6 +4,7 @@ require "rack/test"
4
4
 
5
5
  require "respond_with"
6
6
  require "serialize"
7
+ require "serialize/xml"
7
8
 
8
9
  require "support/mock_item"
9
10
  require "support/item_serializer"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: respond_with
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-30 00:00:00.000000000 Z
12
+ date: 2012-07-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sinatra
16
- requirement: &70134749028720 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70134749028720
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: negotiator
27
- requirement: &70134749028140 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: '0'
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *70134749028140
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: mime-types
38
- requirement: &70134749027520 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,18 +53,28 @@ dependencies:
43
53
  version: '0'
44
54
  type: :runtime
45
55
  prerelease: false
46
- version_requirements: *70134749027520
47
- - !ruby/object:Gem::Dependency
48
- name: serialize
49
- requirement: &70134749026600 !ruby/object:Gem::Requirement
56
+ version_requirements: !ruby/object:Gem::Requirement
50
57
  none: false
51
58
  requirements:
52
59
  - - ! '>='
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: serialize
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: 1.0.0
55
70
  type: :runtime
56
71
  prerelease: false
57
- version_requirements: *70134749026600
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 1.0.0
58
78
  description: Make API responses hella simple
59
79
  email:
60
80
  - dane.harrigan@gmail.com
@@ -64,6 +84,7 @@ extra_rdoc_files: []
64
84
  files:
65
85
  - .gitignore
66
86
  - .travis.yml
87
+ - Changelog.md
67
88
  - Gemfile
68
89
  - LICENSE
69
90
  - README.md
@@ -99,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
99
120
  version: '0'
100
121
  requirements: []
101
122
  rubyforge_project:
102
- rubygems_version: 1.8.11
123
+ rubygems_version: 1.8.23
103
124
  signing_key:
104
125
  specification_version: 3
105
126
  summary: Make API responses hella simple