json_builder 3.0.6 → 3.0.7
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/Gemfile +6 -0
- data/Gemfile.lock +6 -105
- data/MIT-LICENSE +1 -1
- data/README.md +2 -2
- data/Rakefile +10 -16
- data/json_builder.gemspec +15 -19
- data/lib/json_builder.rb +5 -0
- data/lib/json_builder/compiler.rb +108 -19
- data/lib/json_builder/elements.rb +17 -3
- data/lib/json_builder/extensions.rb +3 -3
- data/lib/json_builder/member.rb +20 -5
- data/lib/json_builder/template.rb +1 -1
- data/lib/json_builder/value.rb +15 -3
- data/lib/json_builder/version.rb +1 -1
- data/{spec → test}/benchmarks/builder.rb +0 -0
- data/test/compiler_test.rb +87 -0
- data/test/elements_test.rb +21 -0
- data/test/extensions_test.rb +47 -0
- data/test/member_test.rb +39 -0
- data/test/test_helper.rb +22 -0
- data/test/value_test.rb +60 -0
- metadata +20 -146
- data/spec/dummy/Rakefile +0 -7
- data/spec/dummy/app/controllers/application_controller.rb +0 -3
- data/spec/dummy/app/controllers/users_controller.rb +0 -6
- data/spec/dummy/app/helpers/application_helper.rb +0 -2
- data/spec/dummy/app/helpers/users_helper.rb +0 -5
- data/spec/dummy/app/models/user.rb +0 -11
- data/spec/dummy/app/views/layouts/application.html.erb +0 -14
- data/spec/dummy/app/views/users/index.json_builder +0 -15
- data/spec/dummy/config.ru +0 -4
- data/spec/dummy/config/application.rb +0 -45
- data/spec/dummy/config/boot.rb +0 -10
- data/spec/dummy/config/database.yml +0 -22
- data/spec/dummy/config/environment.rb +0 -5
- data/spec/dummy/config/environments/development.rb +0 -26
- data/spec/dummy/config/environments/production.rb +0 -49
- data/spec/dummy/config/environments/test.rb +0 -35
- data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/spec/dummy/config/initializers/inflections.rb +0 -10
- data/spec/dummy/config/initializers/mime_types.rb +0 -5
- data/spec/dummy/config/initializers/secret_token.rb +0 -7
- data/spec/dummy/config/initializers/session_store.rb +0 -8
- data/spec/dummy/config/locales/en.yml +0 -5
- data/spec/dummy/config/routes.rb +0 -5
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/20111127061428_create_users.rb +0 -14
- data/spec/dummy/db/schema.rb +0 -23
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/public/404.html +0 -26
- data/spec/dummy/public/422.html +0 -26
- data/spec/dummy/public/500.html +0 -26
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/public/javascripts/application.js +0 -2
- data/spec/dummy/public/javascripts/controls.js +0 -965
- data/spec/dummy/public/javascripts/dragdrop.js +0 -974
- data/spec/dummy/public/javascripts/effects.js +0 -1123
- data/spec/dummy/public/javascripts/prototype.js +0 -6001
- data/spec/dummy/public/javascripts/rails.js +0 -191
- data/spec/dummy/public/stylesheets/.gitkeep +0 -0
- data/spec/dummy/script/rails +0 -6
- data/spec/dummy/spec/controllers/users_controller_spec.rb +0 -14
- data/spec/integration/navigation_spec.rb +0 -9
- data/spec/json_builder_spec.rb +0 -7
- data/spec/spec_helper.rb +0 -34
- data/spec/support/json_builder.rb +0 -7
- 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
|
-
|
35
|
+
iso8601.inspect
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
39
|
class Date
|
40
40
|
def to_builder
|
41
|
-
|
41
|
+
to_time.iso8601.inspect
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
45
45
|
class DateTime
|
46
46
|
def to_builder
|
47
|
-
|
47
|
+
to_time.iso8601.inspect
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
data/lib/json_builder/member.rb
CHANGED
@@ -3,12 +3,23 @@ require 'json_builder/elements'
|
|
3
3
|
|
4
4
|
module JSONBuilder
|
5
5
|
class Member
|
6
|
-
attr_accessor :key
|
7
|
-
|
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
|
data/lib/json_builder/value.rb
CHANGED
@@ -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
|
data/lib/json_builder/version.rb
CHANGED
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
|
data/test/member_test.rb
ADDED
@@ -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
|
data/test/test_helper.rb
ADDED
@@ -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
|
data/test/value_test.rb
ADDED
@@ -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.
|
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:
|
12
|
+
date: 2012-02-08 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
16
|
-
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: *
|
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
|
-
-
|
95
|
-
-
|
96
|
-
-
|
97
|
-
-
|
98
|
-
-
|
99
|
-
-
|
100
|
-
-
|
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: -
|
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: -
|
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
|
-
-
|
177
|
-
-
|
178
|
-
-
|
179
|
-
-
|
180
|
-
-
|
181
|
-
-
|
182
|
-
-
|
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
|