clj 0.0.4.4 → 0.0.4.5

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.
Files changed (4) hide show
  1. data/lib/clj.rb +1 -1
  2. data/lib/clj/parser.rb +5 -5
  3. data/lib/clj/types.rb +2 -2
  4. metadata +34 -60
data/lib/clj.rb CHANGED
@@ -8,8 +8,8 @@
8
8
  # 0. You just DO WHAT THE FUCK YOU WANT TO.
9
9
  #++
10
10
 
11
- require 'clj/types'
12
11
  require 'clj/parser'
12
+ require 'clj/types'
13
13
 
14
14
  class Clojure
15
15
  def self.parse (*args)
data/lib/clj/parser.rb CHANGED
@@ -156,7 +156,7 @@ class Parser < StringScanner
156
156
  def parse_string
157
157
  return '' if self[1].empty?
158
158
 
159
- self[1].gsub(%r((?:\\[\\bfnrt"/]|(?:\\u(?:[A-Fa-f\d]{4}))+|\\[\x20-\xff]))n) do |c|
159
+ self[1].gsub(%r((?:\\[\\bfnrt"/]|(?:\\u(?:[A-Fa-f\d]{4}))+|\\[\x20-\xff]))n) {|escape|
160
160
  if u = UNESCAPE_MAP[$&[1]]
161
161
  next u
162
162
  end
@@ -164,19 +164,19 @@ class Parser < StringScanner
164
164
  bytes = EMPTY_8BIT_STRING.dup
165
165
 
166
166
  i = 0
167
- while c[6 * i] == ?\\ && c[6 * i + 1] == ?u
168
- bytes << c[6 * i + 2, 2].to_i(16) << c[6 * i + 4, 2].to_i(16)
167
+ while escape[6 * i] == ?\\ && escape[6 * i + 1] == ?u
168
+ bytes << escape[6 * i + 2, 2].to_i(16) << escape[6 * i + 4, 2].to_i(16)
169
169
 
170
170
  i += 1
171
171
  end
172
172
 
173
173
  if bytes.respond_to? :force_encoding
174
- bytes.force_encoding 'UTF-16'
174
+ bytes.force_encoding 'UTF-16be'
175
175
  bytes.encode 'UTF-8'
176
176
  else
177
177
  bytes
178
178
  end
179
- end
179
+ }
180
180
  end
181
181
 
182
182
  def parse_vector
data/lib/clj/types.rb CHANGED
@@ -22,7 +22,7 @@ class Symbol
22
22
  def to_clj (options = {})
23
23
  result = inspect
24
24
 
25
- unless result =~ /:([^(\[{'^@`~\"\\,\s;)\]}]+)/
25
+ unless Clojure::Parser::KEYWORD === result
26
26
  raise ArgumentError, "#{result} cannot be transformed into clojure"
27
27
  end
28
28
 
@@ -33,7 +33,7 @@ end
33
33
  class String
34
34
  def to_clj (options = {})
35
35
  result = if respond_to? :encode
36
- encode('UTF-16').inspect
36
+ encode('UTF-16be').inspect
37
37
  else
38
38
  inspect
39
39
  end
metadata CHANGED
@@ -1,95 +1,69 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: clj
3
- version: !ruby/object:Gem::Version
4
- hash: 87
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.4.5
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 4
10
- - 4
11
- version: 0.0.4.4
12
6
  platform: ruby
13
- authors:
7
+ authors:
14
8
  - meh.
15
9
  autorequire:
16
10
  bindir: bin
17
11
  cert_chain: []
18
-
19
- date: 2012-02-07 00:00:00 Z
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
12
+ date: 2012-02-07 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
22
15
  name: rake
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &9143400 !ruby/object:Gem::Requirement
25
17
  none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 3
30
- segments:
31
- - 0
32
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
33
22
  type: :development
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: rspec
37
23
  prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *9143400
25
+ - !ruby/object:Gem::Dependency
26
+ name: rspec
27
+ requirement: &9142780 !ruby/object:Gem::Requirement
39
28
  none: false
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- hash: 3
44
- segments:
45
- - 0
46
- version: "0"
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
47
33
  type: :development
48
- version_requirements: *id002
34
+ prerelease: false
35
+ version_requirements: *9142780
49
36
  description:
50
37
  email: meh@paranoici.org
51
38
  executables: []
52
-
53
39
  extensions: []
54
-
55
40
  extra_rdoc_files: []
56
-
57
- files:
41
+ files:
58
42
  - lib/clj.rb
59
43
  - lib/clj/types.rb
60
44
  - lib/clj/parser.rb
61
45
  homepage: http://github.com/meh/ruby-clj
62
46
  licenses: []
63
-
64
47
  post_install_message:
65
48
  rdoc_options: []
66
-
67
- require_paths:
49
+ require_paths:
68
50
  - lib
69
- required_ruby_version: !ruby/object:Gem::Requirement
51
+ required_ruby_version: !ruby/object:Gem::Requirement
70
52
  none: false
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- hash: 3
75
- segments:
76
- - 0
77
- version: "0"
78
- required_rubygems_version: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ! '>='
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ required_rubygems_version: !ruby/object:Gem::Requirement
79
58
  none: false
80
- requirements:
81
- - - ">="
82
- - !ruby/object:Gem::Version
83
- hash: 3
84
- segments:
85
- - 0
86
- version: "0"
59
+ requirements:
60
+ - - ! '>='
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
87
63
  requirements: []
88
-
89
64
  rubyforge_project:
90
65
  rubygems_version: 1.8.15
91
66
  signing_key:
92
67
  specification_version: 3
93
68
  summary: Like json, but with clojure sexps.
94
69
  test_files: []
95
-