to_js 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,3 +1,3 @@
1
- [![Build Status](https://secure.travis-ci.org/dmitriy-kiriyenko/to_js.png)](http://travis-ci.org/dmitriy-kiriyenko/to_js)
1
+ [![Build Status](https://secure.travis-ci.org/dmitriy-kiriyenko/to_js.png)](http://travis-ci.org/dmitriy-kiriyenko/to_js) [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/dmitriy-kiriyenko/to_js)
2
2
 
3
- Adds to_js to basic ruby types. Use when you need js, not json.
3
+ Adds `to_js` to basic ruby types. Use when you need js, not json.
@@ -1,3 +1,3 @@
1
1
  module ToJs
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -12,6 +12,10 @@ module ToJs
12
12
  end
13
13
  end
14
14
 
15
+ visitor_for Date, Time do |moment|
16
+ moment.respond_to?(:to_json) ? moment.to_json : "\"#{moment.to_s}\""
17
+ end
18
+
15
19
  visitor_for Numeric do |number|
16
20
  number.to_s
17
21
  end
@@ -35,14 +35,21 @@ describe "Object#to_js" do
35
35
  [1, 2, "Hello"].to_js.should == "[1, 2, \"Hello\"]"
36
36
  end
37
37
 
38
- it "should return js array literal for set" do
38
+ it "should return js array literal for set", :ruby => 1.9 do
39
39
  Set.new([1, 2, "Hello"]).to_js.should == "[1, 2, \"Hello\"]"
40
40
  end
41
41
 
42
- it "should return js object literal for hash" do
42
+ it "should return js object literal for hash", :ruby => 1.9 do
43
43
  {:a => "hello", :b => 5, "c" => "world"}.to_js.should == "{a: \"hello\", b: 5, c: \"world\"}"
44
44
  end
45
45
 
46
+ it "should return js object literal for hash", :ruby => 1.8 do
47
+ require 'active_support/ordered_hash'
48
+ ActiveSupport::OrderedHash[
49
+ :a, "hello", :b, 5, "c", "world"
50
+ ].to_js.should == "{a: \"hello\", b: 5, c: \"world\"}"
51
+ end
52
+
46
53
  it "should return to_s representation of object" do
47
54
  A.new("Hello").to_js.should == "Hello"
48
55
  end
@@ -54,4 +61,14 @@ describe "Object#to_js" do
54
61
  it "should return string without graves to string with graves" do
55
62
  "`Hello`".to_js.should == "Hello"
56
63
  end
64
+
65
+ it "should return date wrapped as string" do
66
+ Date.new(2012, 12, 21).to_js.should == "\"2012-12-21\""
67
+ end
68
+
69
+ it "should return time wrapped as string" do
70
+ moment = Time.at(0)
71
+ moment.to_js.should == "\"#{moment.to_s}\""
72
+ end
73
+
57
74
  end
@@ -8,5 +8,7 @@ Bundler.require(:default, :development)
8
8
  Dir[File.join(File.dirname(__FILE__), "support", "**", "*.rb")].each {|f| require f}
9
9
 
10
10
  RSpec.configure do |config|
11
- # some (optional) config here
11
+ config.filter_run_excluding :ruby => lambda {|version|
12
+ !(RUBY_VERSION.to_s =~ /^#{version.to_s}/)
13
+ }
12
14
  end
@@ -22,6 +22,7 @@ Gem::Specification.new do |s|
22
22
  s.add_development_dependency "pry-doc"
23
23
  s.add_development_dependency "rake"
24
24
  s.add_development_dependency "rspec"
25
+ s.add_development_dependency "activesupport" if RUBY_VERSION =~ /1.8/
25
26
 
26
27
  s.add_runtime_dependency "visitor"
27
28
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: to_js
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
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-02-10 00:00:00.000000000 Z
12
+ date: 2013-01-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: pry
16
- requirement: &2157837720 !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: :development
23
23
  prerelease: false
24
- version_requirements: *2157837720
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: pry-doc
27
- requirement: &2157837300 !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: :development
34
39
  prerelease: false
35
- version_requirements: *2157837300
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: rake
38
- requirement: &2157836860 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: '0'
44
54
  type: :development
45
55
  prerelease: false
46
- version_requirements: *2157836860
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: rspec
49
- requirement: &2157836400 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ! '>='
@@ -54,10 +69,15 @@ dependencies:
54
69
  version: '0'
55
70
  type: :development
56
71
  prerelease: false
57
- version_requirements: *2157836400
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: visitor
60
- requirement: &2157835960 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ! '>='
@@ -65,7 +85,12 @@ dependencies:
65
85
  version: '0'
66
86
  type: :runtime
67
87
  prerelease: false
68
- version_requirements: *2157835960
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
69
94
  description: Adds to_js to basic ruby types. Use when you need js, not json.
70
95
  email:
71
96
  - dmitriy.kiriyenko@anahoret.com, maxim.tsaplin@anahoret.com
@@ -102,7 +127,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
102
127
  version: '0'
103
128
  segments:
104
129
  - 0
105
- hash: -1987957576940724029
130
+ hash: -4587213289829465361
106
131
  required_rubygems_version: !ruby/object:Gem::Requirement
107
132
  none: false
108
133
  requirements:
@@ -111,10 +136,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
136
  version: '0'
112
137
  segments:
113
138
  - 0
114
- hash: -1987957576940724029
139
+ hash: -4587213289829465361
115
140
  requirements: []
116
141
  rubyforge_project: to_js
117
- rubygems_version: 1.8.15
142
+ rubygems_version: 1.8.23
118
143
  signing_key:
119
144
  specification_version: 3
120
145
  summary: Adds to_js to basic ruby types