pump 0.6.1 → 0.6.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 928aa1adcc5c2a7fc5dd530840b2ceb48c60e872
4
- data.tar.gz: 7b80bb36b960b06a57ce69f3c4e9aea5cefe8862
3
+ metadata.gz: c60ca511d26b937009e1b16e1473b4e664509ab9
4
+ data.tar.gz: 0f6c9cf439f290237b710c56ed25d87b79ccca5b
5
5
  SHA512:
6
- metadata.gz: cac714cccc025776bcef431bf8d47707f1ca3e588162807171b478d5583092dc19bdae802ee6bcc3906c430c50baa23c1092a193ce4ada0091e64d60723b3850
7
- data.tar.gz: c32c95412ebf0b979b212d4596f48b268228f93bf8eb5a45fa0ea8e04a3ddbd26ec876358bb813dbd9d8488ed2166702221362c32f121e66b57e2554ad3adb47
6
+ metadata.gz: cf21d8aa68ff75a6bb584390bdc16880a48c600057834dcb2aac8457c76268a20e294c8900056854a3019f13065f2eccd8e19ac5e70cac17d4f4b3700914a941
7
+ data.tar.gz: d1441b8fb1321f5452a25d98568ac35bc9e0a5d0b72866eae2bc795b2bdccb3570def280d700e84c203d5d72f05c081dd28a519014f4475c8d093e2b956b6f84
data/CHANGES.md CHANGED
@@ -1,6 +1,13 @@
1
1
  ### dev
2
2
 
3
- [full changelog](http://github.com/yolk/pump/compare/v0.6.1...master)
3
+ [full changelog](http://github.com/yolk/pump/compare/v0.6.2...master)
4
+
5
+ ### 0.6.2 / 2013-07-26
6
+
7
+ [full changelog](http://github.com/yolk/valvat/compare/v0.6.1...v0.6.2)
8
+
9
+ * Pump::Encoder now forces loading of ActiveRecord::Relation to detect array
10
+ * Format times correctly with OJ options alone (does not rely on activesupports to_json)
4
11
 
5
12
  ### 0.6.1 / 2013-07-25
6
13
 
data/lib/pump/encoder.rb CHANGED
@@ -52,6 +52,7 @@ module Pump
52
52
  #
53
53
  # @return [String]
54
54
  def encode(object, options={})
55
+ object = object.to_a if defined?(ActiveRecord::Relation) && object.is_a?(ActiveRecord::Relation)
55
56
  object.is_a?(Array) ? encode_array(object, options) : encode_single(object, options)
56
57
  end
57
58
 
data/lib/pump/json.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  require "pump/encoder"
2
- require 'active_support/json/encoding'
2
+
3
3
  require "oj"
4
4
 
5
5
  module Pump
@@ -7,36 +7,47 @@ module Pump
7
7
 
8
8
  private
9
9
 
10
+ OJ_OPTIONS = {
11
+ :mode => :compat,
12
+ :time_format => :xmlschema,
13
+ :second_precision => 0
14
+ }
15
+
10
16
  def compile_string
17
+ main = build_main
11
18
  <<-EOV
12
19
  def encode_single(object, options)
13
- json = {}
14
- #{build_string(encoder_config)}
20
+ #{main}
15
21
  unless options[:exclude_root_in_json]
16
22
  json = { :'#{format_name(root_name)}' => json }
17
23
  end
18
- Oj.dump(json, :mode => :compat)
24
+ Oj.dump(json, OJ_OPTIONS)
19
25
  end
20
26
 
21
27
  def encode_array(objects, options)
22
28
  Oj.dump(if options[:exclude_root_in_json]
23
29
  objects.map do |object|
24
- json = {}
25
- #{build_string(encoder_config)}
30
+ #{main}
26
31
  json
27
32
  end
28
33
  else
29
34
  objects.map do |object|
30
- json = {}
31
- #{build_string(encoder_config)}
35
+ #{main}
32
36
  { :'#{format_name(root_name)}' => json }
33
37
  end
34
- end, :mode => :compat)
38
+ end, OJ_OPTIONS)
35
39
  end
36
40
  EOV
37
41
  end
38
42
 
39
- def build_string(config, variable='json')
43
+ def build_main
44
+ <<-EOV
45
+ json = {}
46
+ #{build_part(encoder_config)}
47
+ EOV
48
+ end
49
+
50
+ def build_part(config, variable='json')
40
51
  config.inject("") do |str, config|
41
52
  build_key_value_pair(str, config, variable)
42
53
  str
@@ -57,7 +68,7 @@ module Pump
57
68
  def build_hash(str, name, method_name, config, variable)
58
69
  str << "#{build_condition(config)}\n"
59
70
  str << "#{variable}[:'#{format_name(name)}'] = {}\n"
60
- str << build_string(method_name, "#{variable}[:'#{format_name(name)}']")
71
+ str << build_part(method_name, "#{variable}[:'#{format_name(name)}']")
61
72
  str << "end\n" if build_condition(config)
62
73
  end
63
74
 
@@ -67,7 +78,7 @@ module Pump
67
78
  unless config.has_key?(:static_value)
68
79
  str << "object.#{method_name}.each do |object| "
69
80
  str << "#{variable}[:'#{format_name(name)}'] << {}\n"
70
- str << build_string(config[:array], "#{variable}[:'#{format_name(name)}'][-1]")
81
+ str << build_part(config[:array], "#{variable}[:'#{format_name(name)}'][-1]")
71
82
  str << "end\n"
72
83
  end
73
84
  str << "end\n" if build_condition(config)
data/lib/pump/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Pump
2
- VERSION = "0.6.1"
2
+ VERSION = "0.6.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pump
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sebastian Munz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-25 00:00:00.000000000 Z
11
+ date: 2013-07-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport