clj 0.0.4.4 → 0.0.4.5

Sign up to get free protection for your applications and to get access to all the features.
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
-