json_builder 3.0.6 → 3.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. data/Gemfile +6 -0
  2. data/Gemfile.lock +6 -105
  3. data/MIT-LICENSE +1 -1
  4. data/README.md +2 -2
  5. data/Rakefile +10 -16
  6. data/json_builder.gemspec +15 -19
  7. data/lib/json_builder.rb +5 -0
  8. data/lib/json_builder/compiler.rb +108 -19
  9. data/lib/json_builder/elements.rb +17 -3
  10. data/lib/json_builder/extensions.rb +3 -3
  11. data/lib/json_builder/member.rb +20 -5
  12. data/lib/json_builder/template.rb +1 -1
  13. data/lib/json_builder/value.rb +15 -3
  14. data/lib/json_builder/version.rb +1 -1
  15. data/{spec → test}/benchmarks/builder.rb +0 -0
  16. data/test/compiler_test.rb +87 -0
  17. data/test/elements_test.rb +21 -0
  18. data/test/extensions_test.rb +47 -0
  19. data/test/member_test.rb +39 -0
  20. data/test/test_helper.rb +22 -0
  21. data/test/value_test.rb +60 -0
  22. metadata +20 -146
  23. data/spec/dummy/Rakefile +0 -7
  24. data/spec/dummy/app/controllers/application_controller.rb +0 -3
  25. data/spec/dummy/app/controllers/users_controller.rb +0 -6
  26. data/spec/dummy/app/helpers/application_helper.rb +0 -2
  27. data/spec/dummy/app/helpers/users_helper.rb +0 -5
  28. data/spec/dummy/app/models/user.rb +0 -11
  29. data/spec/dummy/app/views/layouts/application.html.erb +0 -14
  30. data/spec/dummy/app/views/users/index.json_builder +0 -15
  31. data/spec/dummy/config.ru +0 -4
  32. data/spec/dummy/config/application.rb +0 -45
  33. data/spec/dummy/config/boot.rb +0 -10
  34. data/spec/dummy/config/database.yml +0 -22
  35. data/spec/dummy/config/environment.rb +0 -5
  36. data/spec/dummy/config/environments/development.rb +0 -26
  37. data/spec/dummy/config/environments/production.rb +0 -49
  38. data/spec/dummy/config/environments/test.rb +0 -35
  39. data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -7
  40. data/spec/dummy/config/initializers/inflections.rb +0 -10
  41. data/spec/dummy/config/initializers/mime_types.rb +0 -5
  42. data/spec/dummy/config/initializers/secret_token.rb +0 -7
  43. data/spec/dummy/config/initializers/session_store.rb +0 -8
  44. data/spec/dummy/config/locales/en.yml +0 -5
  45. data/spec/dummy/config/routes.rb +0 -5
  46. data/spec/dummy/db/development.sqlite3 +0 -0
  47. data/spec/dummy/db/migrate/20111127061428_create_users.rb +0 -14
  48. data/spec/dummy/db/schema.rb +0 -23
  49. data/spec/dummy/db/test.sqlite3 +0 -0
  50. data/spec/dummy/public/404.html +0 -26
  51. data/spec/dummy/public/422.html +0 -26
  52. data/spec/dummy/public/500.html +0 -26
  53. data/spec/dummy/public/favicon.ico +0 -0
  54. data/spec/dummy/public/javascripts/application.js +0 -2
  55. data/spec/dummy/public/javascripts/controls.js +0 -965
  56. data/spec/dummy/public/javascripts/dragdrop.js +0 -974
  57. data/spec/dummy/public/javascripts/effects.js +0 -1123
  58. data/spec/dummy/public/javascripts/prototype.js +0 -6001
  59. data/spec/dummy/public/javascripts/rails.js +0 -191
  60. data/spec/dummy/public/stylesheets/.gitkeep +0 -0
  61. data/spec/dummy/script/rails +0 -6
  62. data/spec/dummy/spec/controllers/users_controller_spec.rb +0 -14
  63. data/spec/integration/navigation_spec.rb +0 -9
  64. data/spec/json_builder_spec.rb +0 -7
  65. data/spec/spec_helper.rb +0 -34
  66. data/spec/support/json_builder.rb +0 -7
  67. data/spec/unit/json_builder_spec.rb +0 -77
@@ -32,19 +32,19 @@ end
32
32
 
33
33
  class Time
34
34
  def to_builder
35
- self.strftime("%Y-%m-%dT%H:%M:%S").inspect
35
+ iso8601.inspect
36
36
  end
37
37
  end
38
38
 
39
39
  class Date
40
40
  def to_builder
41
- self.strftime("%Y-%m-%dT%H:%M:%S").inspect
41
+ to_time.iso8601.inspect
42
42
  end
43
43
  end
44
44
 
45
45
  class DateTime
46
46
  def to_builder
47
- self.strftime("%Y-%m-%dT%H:%M:%S").inspect
47
+ to_time.iso8601.inspect
48
48
  end
49
49
  end
50
50
 
@@ -3,12 +3,23 @@ require 'json_builder/elements'
3
3
 
4
4
  module JSONBuilder
5
5
  class Member
6
- attr_accessor :key
7
- attr_accessor :value
8
-
6
+ attr_accessor :key, :value
7
+
8
+ # Public: Returns a key value pair for the stored value which could
9
+ # be an instance of JSONBuilder::Elements or JSONBuilder::Value.
10
+ #
11
+ # key - Used to generate the JSON member's key. Can be a String or Symbol.
12
+ # scope - The view scope context for any variables.
13
+ # args - Can be an Array or other standard Ruby value.
14
+ # block - Yielding any block passed to the element.
15
+ #
16
+ # Raises JSONBuilder::MissingKeyError if the key passed is nil.
17
+ # Returns instance of JSONBuilder::Member.
9
18
  def initialize(key, scope, *args, &block)
19
+ raise MissingKeyError if key.nil?
20
+
10
21
  @key = key
11
-
22
+
12
23
  argument = args.shift
13
24
  if argument.is_a?(Array) || defined?(ActiveRecord::Relation) && argument.is_a?(ActiveRecord::Relation)
14
25
  @value = Elements.new(scope, argument, &block)
@@ -16,7 +27,11 @@ module JSONBuilder
16
27
  @value = Value.new(scope, argument, &block)
17
28
  end
18
29
  end
19
-
30
+
31
+ # Public: Returns a key value pair for the stored value which could
32
+ # be an instance of JSONBuilder::Elements or JSONBuilder::Value.
33
+ #
34
+ # Returns a String.
20
35
  def to_s
21
36
  "\"#{@key}\": #{@value}"
22
37
  end
@@ -2,7 +2,7 @@ module ActionView #:nodoc:
2
2
  class Base
3
3
  cattr_accessor :pretty_print_json
4
4
  @@pretty_print_json = defined?(Rails) && Rails.env.development?
5
-
5
+
6
6
  cattr_accessor :json_callback
7
7
  @@json_callback = true
8
8
  end
@@ -3,12 +3,20 @@ require 'json_builder/extensions'
3
3
  module JSONBuilder
4
4
  class Value
5
5
  attr_accessor :value
6
-
6
+
7
+ # Public: Creates
8
+ #
9
+ # scope - The view scope context for any variables.
10
+ # arg - Could be string, hash, or any other Ruby value.
11
+ # block - Yielding any block passed to the element.
12
+ #
13
+ # Returns an instance of JSONBuilder::Member, JSONBuilder::Compiler
14
+ # or String.
7
15
  def initialize(scope, arg, &block)
8
16
  if block_given?
9
17
  @value = Compiler.new(:scope => scope)
10
18
  compiled = @value.compile(arg, &block)
11
-
19
+
12
20
  # For the use case that the passed in block returns a non-member object
13
21
  # or normal Ruby object
14
22
  @value = compiled unless compiled.is_a?(Member)
@@ -16,7 +24,11 @@ module JSONBuilder
16
24
  @value = arg
17
25
  end
18
26
  end
19
-
27
+
28
+ # Public: Determines of the stored value has a special return value
29
+ # or calls the default to_s on it.
30
+ #
31
+ # Returns a String.
20
32
  def to_s
21
33
  @value.respond_to?(:to_builder) ? @value.to_builder : @value.to_s
22
34
  end
@@ -1,3 +1,3 @@
1
1
  module JSONBuilder
2
- VERSION = '3.0.6'
2
+ VERSION = '3.0.7'
3
3
  end
File without changes
@@ -0,0 +1,87 @@
1
+ require 'test_helper'
2
+ require 'active_support/ordered_hash'
3
+
4
+ class TestCompiler < Test::Unit::TestCase
5
+ def assert_builder_json(json, *args, &block)
6
+ assert_equal json, JSONBuilder::Compiler.generate(*args, &block)
7
+ end
8
+
9
+ def test_without_nesting
10
+ assert_builder_json('{"name": "Garrett Bjerkhoel", "valid": true}') do
11
+ def valid?
12
+ true
13
+ end
14
+
15
+ name 'Garrett Bjerkhoel'
16
+ valid valid?
17
+ end
18
+ end
19
+
20
+ def test_support_all_dates
21
+ actual = JSONBuilder::Compiler.generate do
22
+ date Date.new(2011, 11, 23)
23
+ date_time DateTime.new(2001, 2, 3, 4, 5, 6)
24
+ timed Time.utc(2012)
25
+ end
26
+ # The date will have the local time zone offset, hence the wildcard.
27
+ assert_match(%r{\{"date": "2011-11-23T00:00:00.*", "date_time": "2001-02-03T04:05:06Z", "timed": "2012-01-01T00:00:00Z"\}}, actual)
28
+ end
29
+
30
+ def test_should_support_all_datatypes
31
+ assert_builder_json('{"integer": 1, "mega_integer": 100000000, "float": 13.37, "true_class": true, "false_class": false, "missing_nil": null}') do
32
+ integer 1
33
+ mega_integer 100_000_000
34
+ float 13.37
35
+ true_class true
36
+ false_class false
37
+ missing_nil
38
+ end
39
+ end
40
+
41
+ def test_should_support_multiple_nestings
42
+ assert_builder_json('{"u": [{"id": 1, "l": [{"l": 1, "d": "t"}, {"l": 2, "d": "tt"}]}, {"id": 2, "l": [{"l": 2, "d": "t"}, {"l": 4, "d": "tt"}]}]}') do
43
+ u [1, 2] do |i|
44
+ id i
45
+ l [1, 2] do |b|
46
+ l b * i
47
+ d 't' do |c|
48
+ c * b
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+
55
+ def test_support_custom_key_names
56
+ assert_builder_json('{"custom_key": 1, "with_method": "nope", "as_string": true, "nested": {"deep_down": -1, "custom": true}, "nope": "chuck"}') do
57
+ def with_method
58
+ "nope"
59
+ end
60
+
61
+ key :custom_key, 1
62
+ key :with_method, with_method
63
+ key 'as_string', true
64
+ nested do
65
+ def custom
66
+ 'custom'
67
+ end
68
+
69
+ key 'deep_down', -1
70
+ key custom, true
71
+ end
72
+ key with_method, 'chuck'
73
+ end
74
+ end
75
+
76
+ def test_support_custom_classes
77
+ assert_builder_json('{"hello": "olleh"}') do
78
+ hello Dozer.new('hello')
79
+ end
80
+ end
81
+
82
+ def test_adding_hash_objects
83
+ assert_builder_json('{"hash_test": {"garrett":true}}') do
84
+ hash_test :garrett => true
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,21 @@
1
+ require 'test_helper'
2
+
3
+ class TestElements < Test::Unit::TestCase
4
+ def assert_elements_equal(value, array)
5
+ assert_equal value, JSONBuilder::Elements.new(nil, array).to_s
6
+ end
7
+
8
+ def test_array_hash
9
+ assert_elements_equal '[{"woot":true}]', [{ :woot => true }]
10
+ end
11
+
12
+ def test_custom_class_objects
13
+ assert_elements_equal '["olleh", "eybdoog"]', [Dozer.new('hello'), Dozer.new('goodbye')]
14
+ end
15
+
16
+ def test_raises_invalid_argument
17
+ assert_raises(JSONBuilder::InvalidArgument) {
18
+ JSONBuilder::Elements.new(nil, false).to_s
19
+ }
20
+ end
21
+ end
@@ -0,0 +1,47 @@
1
+ require 'test_helper'
2
+
3
+ class TestExtensions < Test::Unit::TestCase
4
+ def test_string_respond_to
5
+ assert_respond_to 'json_builder', :to_builder
6
+ end
7
+
8
+ def test_ordered_hash
9
+ assert_respond_to ActiveSupport::OrderedHash.new(:json_builder => true), :to_builder
10
+ end
11
+
12
+ def test_true_value
13
+ assert_respond_to true, :to_builder
14
+ end
15
+
16
+ def test_false_value
17
+ assert_respond_to false, :to_builder
18
+ end
19
+
20
+ def test_hash_value
21
+ assert_respond_to({ :json_builder => true }, :to_builder)
22
+ end
23
+
24
+ def test_nil_value
25
+ assert_respond_to nil, :to_builder
26
+ end
27
+
28
+ def test_time_value
29
+ assert_respond_to Time.utc(2012), :to_builder
30
+ end
31
+
32
+ def test_date_value
33
+ assert_respond_to Date.parse('2012-01-01'), :to_builder
34
+ end
35
+
36
+ def test_datetime_value
37
+ assert_respond_to DateTime.parse('2012-01-01'), :to_builder
38
+ end
39
+
40
+ def test_bson_objectid_value
41
+ assert_respond_to BSON::ObjectId.new, :to_builder
42
+ end
43
+
44
+ def test_custom_class
45
+ assert_respond_to Dozer.new('hello'), :to_builder
46
+ end
47
+ end
@@ -0,0 +1,39 @@
1
+ require 'test_helper'
2
+
3
+ class TestMember < Test::Unit::TestCase
4
+ def member(key, value=nil, &block)
5
+ JSONBuilder::Member.new(key, nil, value, &block)
6
+ end
7
+
8
+ def test_is_a_builder_value
9
+ assert_equal JSONBuilder::Member, member(:hello, true).class
10
+ end
11
+
12
+ def test_key_as_symbol
13
+ assert_equal '"hello": true', member(:hello, true).to_s
14
+ end
15
+
16
+ def test_key_as_string
17
+ assert_equal '"hello": true', member('hello', true).to_s
18
+ end
19
+
20
+ def test_value_as_array
21
+ assert_equal '"hello": [{"ruby":true}]', member('hello', [{ :ruby => true }]).to_s
22
+ end
23
+
24
+ def test_value_as_block
25
+ assert_equal '"hello": "hi"', member('hello') { "hi" }.to_s
26
+ end
27
+
28
+ def test_value_as_block_with_hash
29
+ assert_equal '"hello": {"ruby":true}', member('hello') { { :ruby => true } }.to_s
30
+ end
31
+
32
+ def test_custom_class
33
+ assert_equal '"hello": "olleh"', member('hello', Dozer.new('hello')).to_s
34
+ end
35
+
36
+ def test_without_key
37
+ assert_raises(JSONBuilder::MissingKeyError) { member(nil, true).to_s }
38
+ end
39
+ end
@@ -0,0 +1,22 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ Bundler.setup(:default, :test)
4
+ Bundler.require(:default, :test)
5
+
6
+ dir = File.dirname(File.expand_path(__FILE__))
7
+ $LOAD_PATH.unshift dir + '/../lib'
8
+ $TESTING = true
9
+ require 'test/unit'
10
+ require 'json_builder'
11
+
12
+ class Dozer
13
+ attr_accessor :value
14
+
15
+ def initialize(value)
16
+ @value = value
17
+ end
18
+
19
+ def to_builder
20
+ @value.reverse.inspect
21
+ end
22
+ end
@@ -0,0 +1,60 @@
1
+ require 'test_helper'
2
+
3
+ class TestValue < Test::Unit::TestCase
4
+ def value(value)
5
+ JSONBuilder::Value.new(nil, value).to_s
6
+ end
7
+
8
+ def test_is_a_builder_value
9
+ assert_equal JSONBuilder::Value, JSONBuilder::Value.new(nil, true).class
10
+ end
11
+
12
+ def test_positive_value
13
+ assert_equal '1', value(1)
14
+ end
15
+
16
+ def test_negative_value
17
+ assert_equal '-5', value(-5)
18
+ end
19
+
20
+ def test_float_value
21
+ assert_equal '13.37', value(13.37)
22
+ end
23
+
24
+ def test_nil_value
25
+ assert_equal 'null', value(nil)
26
+ end
27
+
28
+ def test_true_value
29
+ assert_equal 'true', value(true)
30
+ end
31
+
32
+ def test_false_value
33
+ assert_equal 'false', value(false)
34
+ end
35
+
36
+ def test_symbol_value
37
+ assert_equal 'test', value(:test)
38
+ end
39
+
40
+ def test_time_value
41
+ assert_equal '"2012-01-01T00:00:00Z"', value(Time.utc(2012))
42
+ end
43
+
44
+ def test_date_value
45
+ # This will be the local time zone offset, hence the wildcard.
46
+ assert_match /"2012-01-01T00:00:00.*/, value(Date.parse('2012-01-01'))
47
+ end
48
+
49
+ def test_date_time_value
50
+ assert_equal '"2012-01-01T00:00:00Z"', value(DateTime.parse('2012-01-01'))
51
+ end
52
+
53
+ def test_hash_value
54
+ assert_equal '{"oh":"boy"}', value(:oh => :boy)
55
+ end
56
+
57
+ def test_custom_class
58
+ assert_equal '"olleh"', value(Dozer.new('hello'))
59
+ end
60
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json_builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.6
4
+ version: 3.0.7
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: 2011-12-29 00:00:00.000000000Z
12
+ date: 2012-02-08 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
16
- requirement: &70270510504640 !ruby/object:Gem::Requirement
16
+ requirement: &70277572004620 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,51 +21,7 @@ dependencies:
21
21
  version: 2.0.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70270510504640
25
- - !ruby/object:Gem::Dependency
26
- name: rspec-rails
27
- requirement: &70270510503740 !ruby/object:Gem::Requirement
28
- none: false
29
- requirements:
30
- - - ! '>='
31
- - !ruby/object:Gem::Version
32
- version: 2.0.0.beta
33
- type: :development
34
- prerelease: false
35
- version_requirements: *70270510503740
36
- - !ruby/object:Gem::Dependency
37
- name: rails
38
- requirement: &70270510503140 !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
41
- - - ! '>='
42
- - !ruby/object:Gem::Version
43
- version: 2.0.0
44
- type: :development
45
- prerelease: false
46
- version_requirements: *70270510503140
47
- - !ruby/object:Gem::Dependency
48
- name: sqlite3
49
- requirement: &70270510502540 !ruby/object:Gem::Requirement
50
- none: false
51
- requirements:
52
- - - ! '>='
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- type: :development
56
- prerelease: false
57
- version_requirements: *70270510502540
58
- - !ruby/object:Gem::Dependency
59
- name: capybara
60
- requirement: &70270510501660 !ruby/object:Gem::Requirement
61
- none: false
62
- requirements:
63
- - - ! '>='
64
- - !ruby/object:Gem::Version
65
- version: 0.4.0
66
- type: :development
67
- prerelease: false
68
- version_requirements: *70270510501660
24
+ version_requirements: *70277572004620
69
25
  description: Rails provides an excellent XML Builder by default to build RSS and ATOM
70
26
  feeds, but nothing to help you build complex and custom JSON data structures. The
71
27
  standard to_json works well, but can get very verbose when you need full control
@@ -91,54 +47,13 @@ files:
91
47
  - lib/json_builder/template.rb
92
48
  - lib/json_builder/value.rb
93
49
  - lib/json_builder/version.rb
94
- - spec/benchmarks/builder.rb
95
- - spec/dummy/Rakefile
96
- - spec/dummy/app/controllers/application_controller.rb
97
- - spec/dummy/app/controllers/users_controller.rb
98
- - spec/dummy/app/helpers/application_helper.rb
99
- - spec/dummy/app/helpers/users_helper.rb
100
- - spec/dummy/app/models/user.rb
101
- - spec/dummy/app/views/layouts/application.html.erb
102
- - spec/dummy/app/views/users/index.json_builder
103
- - spec/dummy/config.ru
104
- - spec/dummy/config/application.rb
105
- - spec/dummy/config/boot.rb
106
- - spec/dummy/config/database.yml
107
- - spec/dummy/config/environment.rb
108
- - spec/dummy/config/environments/development.rb
109
- - spec/dummy/config/environments/production.rb
110
- - spec/dummy/config/environments/test.rb
111
- - spec/dummy/config/initializers/backtrace_silencers.rb
112
- - spec/dummy/config/initializers/inflections.rb
113
- - spec/dummy/config/initializers/mime_types.rb
114
- - spec/dummy/config/initializers/secret_token.rb
115
- - spec/dummy/config/initializers/session_store.rb
116
- - spec/dummy/config/locales/en.yml
117
- - spec/dummy/config/routes.rb
118
- - spec/dummy/db/development.sqlite3
119
- - spec/dummy/db/migrate/20111127061428_create_users.rb
120
- - spec/dummy/db/schema.rb
121
- - spec/dummy/db/test.sqlite3
122
- - spec/dummy/log/production.log
123
- - spec/dummy/log/server.log
124
- - spec/dummy/public/404.html
125
- - spec/dummy/public/422.html
126
- - spec/dummy/public/500.html
127
- - spec/dummy/public/favicon.ico
128
- - spec/dummy/public/javascripts/application.js
129
- - spec/dummy/public/javascripts/controls.js
130
- - spec/dummy/public/javascripts/dragdrop.js
131
- - spec/dummy/public/javascripts/effects.js
132
- - spec/dummy/public/javascripts/prototype.js
133
- - spec/dummy/public/javascripts/rails.js
134
- - spec/dummy/public/stylesheets/.gitkeep
135
- - spec/dummy/script/rails
136
- - spec/dummy/spec/controllers/users_controller_spec.rb
137
- - spec/integration/navigation_spec.rb
138
- - spec/json_builder_spec.rb
139
- - spec/spec_helper.rb
140
- - spec/support/json_builder.rb
141
- - spec/unit/json_builder_spec.rb
50
+ - test/benchmarks/builder.rb
51
+ - test/compiler_test.rb
52
+ - test/elements_test.rb
53
+ - test/extensions_test.rb
54
+ - test/member_test.rb
55
+ - test/test_helper.rb
56
+ - test/value_test.rb
142
57
  homepage:
143
58
  licenses: []
144
59
  post_install_message:
@@ -153,7 +68,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
153
68
  version: '0'
154
69
  segments:
155
70
  - 0
156
- hash: -1029443064844091129
71
+ hash: -1301567226691013722
157
72
  required_rubygems_version: !ruby/object:Gem::Requirement
158
73
  none: false
159
74
  requirements:
@@ -162,7 +77,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
162
77
  version: '0'
163
78
  segments:
164
79
  - 0
165
- hash: -1029443064844091129
80
+ hash: -1301567226691013722
166
81
  requirements: []
167
82
  rubyforge_project:
168
83
  rubygems_version: 1.8.10
@@ -173,51 +88,10 @@ summary: Rails provides an excellent XML Builder by default to build RSS and ATO
173
88
  standard to_json works well, but can get very verbose when you need full control
174
89
  of what is generated. JSON Builder hopes to solve that problem.
175
90
  test_files:
176
- - spec/benchmarks/builder.rb
177
- - spec/dummy/Rakefile
178
- - spec/dummy/app/controllers/application_controller.rb
179
- - spec/dummy/app/controllers/users_controller.rb
180
- - spec/dummy/app/helpers/application_helper.rb
181
- - spec/dummy/app/helpers/users_helper.rb
182
- - spec/dummy/app/models/user.rb
183
- - spec/dummy/app/views/layouts/application.html.erb
184
- - spec/dummy/app/views/users/index.json_builder
185
- - spec/dummy/config.ru
186
- - spec/dummy/config/application.rb
187
- - spec/dummy/config/boot.rb
188
- - spec/dummy/config/database.yml
189
- - spec/dummy/config/environment.rb
190
- - spec/dummy/config/environments/development.rb
191
- - spec/dummy/config/environments/production.rb
192
- - spec/dummy/config/environments/test.rb
193
- - spec/dummy/config/initializers/backtrace_silencers.rb
194
- - spec/dummy/config/initializers/inflections.rb
195
- - spec/dummy/config/initializers/mime_types.rb
196
- - spec/dummy/config/initializers/secret_token.rb
197
- - spec/dummy/config/initializers/session_store.rb
198
- - spec/dummy/config/locales/en.yml
199
- - spec/dummy/config/routes.rb
200
- - spec/dummy/db/development.sqlite3
201
- - spec/dummy/db/migrate/20111127061428_create_users.rb
202
- - spec/dummy/db/schema.rb
203
- - spec/dummy/db/test.sqlite3
204
- - spec/dummy/log/production.log
205
- - spec/dummy/log/server.log
206
- - spec/dummy/public/404.html
207
- - spec/dummy/public/422.html
208
- - spec/dummy/public/500.html
209
- - spec/dummy/public/favicon.ico
210
- - spec/dummy/public/javascripts/application.js
211
- - spec/dummy/public/javascripts/controls.js
212
- - spec/dummy/public/javascripts/dragdrop.js
213
- - spec/dummy/public/javascripts/effects.js
214
- - spec/dummy/public/javascripts/prototype.js
215
- - spec/dummy/public/javascripts/rails.js
216
- - spec/dummy/public/stylesheets/.gitkeep
217
- - spec/dummy/script/rails
218
- - spec/dummy/spec/controllers/users_controller_spec.rb
219
- - spec/integration/navigation_spec.rb
220
- - spec/json_builder_spec.rb
221
- - spec/spec_helper.rb
222
- - spec/support/json_builder.rb
223
- - spec/unit/json_builder_spec.rb
91
+ - test/benchmarks/builder.rb
92
+ - test/compiler_test.rb
93
+ - test/elements_test.rb
94
+ - test/extensions_test.rb
95
+ - test/member_test.rb
96
+ - test/test_helper.rb
97
+ - test/value_test.rb