twitter-text 1.6.1 → 1.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 595273c391784101eaebd3ca2ddea9b9d0555e7d
4
+ data.tar.gz: 843c50a9cd7e5b3b2ae9db70ca30100b6885e4b5
5
+ SHA512:
6
+ metadata.gz: 30deea59f90ff972f3ac61a10ecad0a5f3bef0992b79198528ecf840f2b22f0e562040737d5d1e14334e58f6ffd507951c1c5c1be04bcab990e719b7b155b18f
7
+ data.tar.gz: 52400f3fbf97d3e829e3699d5e3d3bba43f69a3691b665115db00227f3d53ada93783f6842f40dcfb1bcc569adc82c518e82ae4cf7b83d8854543895fc1a5c87
@@ -1,7 +1,7 @@
1
1
  # encoding: UTF-8
2
2
 
3
3
  require 'set'
4
- require 'twitter-text/core_ext/hash'
4
+ require 'twitter-text/hash_helper'
5
5
 
6
6
  module Twitter
7
7
  # A module for including Tweet auto-linking in a class. The primary use of this is for helpers/views so they can auto-link
@@ -48,7 +48,7 @@ module Twitter
48
48
 
49
49
  # map JSON entity to twitter-text entity
50
50
  entities.each do |entity|
51
- entity.symbolize_keys!
51
+ HashHelper.symbolize_keys!(entity)
52
52
  # hashtag
53
53
  entity[:hashtag] = entity[:text] if entity[:text]
54
54
  end
@@ -227,7 +227,7 @@ module Twitter
227
227
 
228
228
  def url_entities_hash(url_entities)
229
229
  (url_entities || {}).inject({}) do |entities, entity|
230
- entity = entity.symbolize_keys
230
+ HashHelper.symbolize_keys!(entity)
231
231
  entities[entity[:url]] = entity
232
232
  entities
233
233
  end
@@ -0,0 +1,21 @@
1
+ module Twitter
2
+ module HashHelper
3
+ # Return a new hash with all keys converted to symbols, as long as
4
+ # they respond to +to_sym+.
5
+ #
6
+ # { 'name' => 'Rob', 'years' => '28' }.symbolize_keys
7
+ # #=> { :name => "Rob", :years => "28" }
8
+ def self.symbolize_keys(hash)
9
+ hash.dup.symbolize_keys!
10
+ end
11
+
12
+ # Destructively convert all keys to symbols, as long as they respond
13
+ # to +to_sym+. Same as +symbolize_keys+, but modifies +self+.
14
+ def self.symbolize_keys!(hash)
15
+ hash.keys.each do |key|
16
+ hash[(key.to_sym rescue key) || key] = hash.delete(key)
17
+ end
18
+ hash
19
+ end
20
+ end
21
+ end
@@ -194,8 +194,8 @@ module Twitter
194
194
  ci|ck|cl|cm|cn|co|cr|cs|cu|cv|cx|cy|cz|dd|de|dj|dk|dm|do|dz|ec|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|
195
195
  gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|
196
196
  lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|
197
- pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|ss|st|su|sv|sy|sz|tc|td|tf|tg|th|
198
- tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw|sx)
197
+ pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|ss|st|su|sv|sx|sy|sz|tc|td|tf|tg|
198
+ th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw)
199
199
  (?=[^0-9a-z]|$)
200
200
  )
201
201
  }ix
data/twitter-text.gemspec CHANGED
@@ -2,13 +2,14 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "twitter-text"
5
- s.version = "1.6.1"
5
+ s.version = "1.6.2"
6
6
  s.authors = ["Matt Sanford", "Patrick Ewing", "Ben Cherry", "Britt Selvitelle",
7
7
  "Raffi Krikorian", "J.P. Cummins", "Yoshimasa Niwa", "Keita Fujii", "James Koval"]
8
8
  s.email = ["matt@twitter.com", "patrick.henry.ewing@gmail.com", "bcherry@gmail.com", "bs@brittspace.com",
9
9
  "raffi@twitter.com", "jcummins@twitter.com", "niw@niw.at", "keita@twitter.com", "jkoval@twitter.com"]
10
10
  s.homepage = "http://twitter.com"
11
11
  s.description = s.summary = "A gem that provides text handling for Twitter"
12
+ s.license = "Apache 2.0"
12
13
 
13
14
  s.platform = Gem::Platform::RUBY
14
15
  s.has_rdoc = true
@@ -20,7 +21,7 @@ Gem::Specification.new do |s|
20
21
  s.add_development_dependency "rdoc"
21
22
  s.add_development_dependency "rspec"
22
23
  s.add_development_dependency "simplecov"
23
- s.add_runtime_dependency "unf", "~> 0.0.5"
24
+ s.add_runtime_dependency "unf", "~> 0.1.0"
24
25
 
25
26
  s.files = `git ls-files`.split("\n")
26
27
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twitter-text
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 1.6.1
4
+ version: 1.6.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Matt Sanford
@@ -17,120 +16,106 @@ authors:
17
16
  autorequire:
18
17
  bindir: bin
19
18
  cert_chain: []
20
- date: 2013-03-11 00:00:00.000000000 Z
19
+ date: 2013-09-16 00:00:00.000000000 Z
21
20
  dependencies:
22
21
  - !ruby/object:Gem::Dependency
23
- version_requirements: !ruby/object:Gem::Requirement
24
- requirements:
25
- - - ~>
26
- - !ruby/object:Gem::Version
27
- version: '1.3'
28
- none: false
29
- prerelease: false
30
22
  name: multi_json
31
23
  requirement: !ruby/object:Gem::Requirement
32
24
  requirements:
33
25
  - - ~>
34
26
  - !ruby/object:Gem::Version
35
27
  version: '1.3'
36
- none: false
37
28
  type: :development
38
- - !ruby/object:Gem::Dependency
29
+ prerelease: false
39
30
  version_requirements: !ruby/object:Gem::Requirement
40
31
  requirements:
41
- - - ! '>='
32
+ - - ~>
42
33
  - !ruby/object:Gem::Version
43
- version: '0'
44
- none: false
45
- prerelease: false
34
+ version: '1.3'
35
+ - !ruby/object:Gem::Dependency
46
36
  name: nokogiri
47
37
  requirement: !ruby/object:Gem::Requirement
48
38
  requirements:
49
- - - ! '>='
39
+ - - '>='
50
40
  - !ruby/object:Gem::Version
51
41
  version: '0'
52
- none: false
53
42
  type: :development
54
- - !ruby/object:Gem::Dependency
43
+ prerelease: false
55
44
  version_requirements: !ruby/object:Gem::Requirement
56
45
  requirements:
57
- - - ! '>='
46
+ - - '>='
58
47
  - !ruby/object:Gem::Version
59
48
  version: '0'
60
- none: false
61
- prerelease: false
49
+ - !ruby/object:Gem::Dependency
62
50
  name: rake
63
51
  requirement: !ruby/object:Gem::Requirement
64
52
  requirements:
65
- - - ! '>='
53
+ - - '>='
66
54
  - !ruby/object:Gem::Version
67
55
  version: '0'
68
- none: false
69
56
  type: :development
70
- - !ruby/object:Gem::Dependency
57
+ prerelease: false
71
58
  version_requirements: !ruby/object:Gem::Requirement
72
59
  requirements:
73
- - - ! '>='
60
+ - - '>='
74
61
  - !ruby/object:Gem::Version
75
62
  version: '0'
76
- none: false
77
- prerelease: false
63
+ - !ruby/object:Gem::Dependency
78
64
  name: rdoc
79
65
  requirement: !ruby/object:Gem::Requirement
80
66
  requirements:
81
- - - ! '>='
67
+ - - '>='
82
68
  - !ruby/object:Gem::Version
83
69
  version: '0'
84
- none: false
85
70
  type: :development
86
- - !ruby/object:Gem::Dependency
71
+ prerelease: false
87
72
  version_requirements: !ruby/object:Gem::Requirement
88
73
  requirements:
89
- - - ! '>='
74
+ - - '>='
90
75
  - !ruby/object:Gem::Version
91
76
  version: '0'
92
- none: false
93
- prerelease: false
77
+ - !ruby/object:Gem::Dependency
94
78
  name: rspec
95
79
  requirement: !ruby/object:Gem::Requirement
96
80
  requirements:
97
- - - ! '>='
81
+ - - '>='
98
82
  - !ruby/object:Gem::Version
99
83
  version: '0'
100
- none: false
101
84
  type: :development
102
- - !ruby/object:Gem::Dependency
85
+ prerelease: false
103
86
  version_requirements: !ruby/object:Gem::Requirement
104
87
  requirements:
105
- - - ! '>='
88
+ - - '>='
106
89
  - !ruby/object:Gem::Version
107
90
  version: '0'
108
- none: false
109
- prerelease: false
91
+ - !ruby/object:Gem::Dependency
110
92
  name: simplecov
111
93
  requirement: !ruby/object:Gem::Requirement
112
94
  requirements:
113
- - - ! '>='
95
+ - - '>='
114
96
  - !ruby/object:Gem::Version
115
97
  version: '0'
116
- none: false
117
98
  type: :development
118
- - !ruby/object:Gem::Dependency
99
+ prerelease: false
119
100
  version_requirements: !ruby/object:Gem::Requirement
120
101
  requirements:
121
- - - ~>
102
+ - - '>='
122
103
  - !ruby/object:Gem::Version
123
- version: 0.0.5
124
- none: false
125
- prerelease: false
104
+ version: '0'
105
+ - !ruby/object:Gem::Dependency
126
106
  name: unf
127
107
  requirement: !ruby/object:Gem::Requirement
128
108
  requirements:
129
109
  - - ~>
130
110
  - !ruby/object:Gem::Version
131
- version: 0.0.5
132
- none: false
111
+ version: 0.1.0
133
112
  type: :runtime
113
+ prerelease: false
114
+ version_requirements: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ~>
117
+ - !ruby/object:Gem::Version
118
+ version: 0.1.0
134
119
  description: A gem that provides text handling for Twitter
135
120
  email:
136
121
  - matt@twitter.com
@@ -157,9 +142,9 @@ files:
157
142
  - Rakefile
158
143
  - lib/twitter-text.rb
159
144
  - lib/twitter-text/autolink.rb
160
- - lib/twitter-text/core_ext/hash.rb
161
145
  - lib/twitter-text/deprecation.rb
162
146
  - lib/twitter-text/extractor.rb
147
+ - lib/twitter-text/hash_helper.rb
163
148
  - lib/twitter-text/hit_highlighter.rb
164
149
  - lib/twitter-text/regex.rb
165
150
  - lib/twitter-text/rewriter.rb
@@ -180,34 +165,28 @@ files:
180
165
  - test/conformance_test.rb
181
166
  - twitter-text.gemspec
182
167
  homepage: http://twitter.com
183
- licenses: []
168
+ licenses:
169
+ - Apache 2.0
170
+ metadata: {}
184
171
  post_install_message:
185
172
  rdoc_options: []
186
173
  require_paths:
187
174
  - lib
188
175
  required_ruby_version: !ruby/object:Gem::Requirement
189
176
  requirements:
190
- - - ! '>='
177
+ - - '>='
191
178
  - !ruby/object:Gem::Version
192
179
  version: '0'
193
- segments:
194
- - 0
195
- hash: -209443876529914673
196
- none: false
197
180
  required_rubygems_version: !ruby/object:Gem::Requirement
198
181
  requirements:
199
- - - ! '>='
182
+ - - '>='
200
183
  - !ruby/object:Gem::Version
201
184
  version: '0'
202
- segments:
203
- - 0
204
- hash: -209443876529914673
205
- none: false
206
185
  requirements: []
207
186
  rubyforge_project:
208
- rubygems_version: 1.8.24
187
+ rubygems_version: 2.0.3
209
188
  signing_key:
210
- specification_version: 3
189
+ specification_version: 4
211
190
  summary: Twitter text handling library
212
191
  test_files:
213
192
  - spec/autolinking_spec.rb
@@ -1,21 +0,0 @@
1
- class Hash
2
-
3
- # Return a new hash with all keys converted to symbols, as long as
4
- # they respond to +to_sym+.
5
- #
6
- # { 'name' => 'Rob', 'years' => '28' }.symbolize_keys
7
- # #=> { :name => "Rob", :years => "28" }
8
- def symbolize_keys
9
- dup.symbolize_keys!
10
- end
11
-
12
- # Destructively convert all keys to symbols, as long as they respond
13
- # to +to_sym+. Same as +symbolize_keys+, but modifies +self+.
14
- def symbolize_keys!
15
- keys.each do |key|
16
- self[(key.to_sym rescue key) || key] = delete(key)
17
- end
18
- self
19
- end
20
-
21
- end