gnip-rules 1.0.0 → 1.0.1

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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.0.1
@@ -0,0 +1,77 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "gnip-rules"
8
+ s.version = "1.0.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Spencer Markowski", "The Able Few"]
12
+ s.date = "2011-12-19"
13
+ s.description = "Remove, Add and List your Gnip Rules"
14
+ s.email = "spencer@theablefew.com"
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.md"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ "Gemfile",
22
+ "LICENSE.txt",
23
+ "README.md",
24
+ "Rakefile",
25
+ "VERSION",
26
+ "gnip-rules.gemspec",
27
+ "lib/gnip-rules.rb",
28
+ "test/helper.rb",
29
+ "test/test_gnip-rules.rb",
30
+ "test/test_rule.rb"
31
+ ]
32
+ s.homepage = "http://github.com/theablefew/gnip-rules"
33
+ s.licenses = ["MIT"]
34
+ s.require_paths = ["lib"]
35
+ s.rubygems_version = "1.8.10"
36
+ s.summary = "A simple wrapper for the Gnip Rules API"
37
+
38
+ if s.respond_to? :specification_version then
39
+ s.specification_version = 3
40
+
41
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
42
+ s.add_runtime_dependency(%q<httparty>, [">= 0"])
43
+ s.add_runtime_dependency(%q<rake>, [">= 0"])
44
+ s.add_runtime_dependency(%q<json>, [">= 0"])
45
+ s.add_runtime_dependency(%q<activesupport>, [">= 0"])
46
+ s.add_development_dependency(%q<shoulda-context>, [">= 0"])
47
+ s.add_development_dependency(%q<turn>, [">= 0"])
48
+ s.add_development_dependency(%q<assert2>, [">= 0"])
49
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
50
+ s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
51
+ s.add_development_dependency(%q<rcov>, [">= 0"])
52
+ else
53
+ s.add_dependency(%q<httparty>, [">= 0"])
54
+ s.add_dependency(%q<rake>, [">= 0"])
55
+ s.add_dependency(%q<json>, [">= 0"])
56
+ s.add_dependency(%q<activesupport>, [">= 0"])
57
+ s.add_dependency(%q<shoulda-context>, [">= 0"])
58
+ s.add_dependency(%q<turn>, [">= 0"])
59
+ s.add_dependency(%q<assert2>, [">= 0"])
60
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
61
+ s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
62
+ s.add_dependency(%q<rcov>, [">= 0"])
63
+ end
64
+ else
65
+ s.add_dependency(%q<httparty>, [">= 0"])
66
+ s.add_dependency(%q<rake>, [">= 0"])
67
+ s.add_dependency(%q<json>, [">= 0"])
68
+ s.add_dependency(%q<activesupport>, [">= 0"])
69
+ s.add_dependency(%q<shoulda-context>, [">= 0"])
70
+ s.add_dependency(%q<turn>, [">= 0"])
71
+ s.add_dependency(%q<assert2>, [">= 0"])
72
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
73
+ s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
74
+ s.add_dependency(%q<rcov>, [">= 0"])
75
+ end
76
+ end
77
+
data/lib/gnip-rules.rb CHANGED
@@ -46,7 +46,6 @@ module Gnip
46
46
  def load_credentials!
47
47
  if File.exists?( 'config/gnip.yml' )
48
48
  @config = YAML.load_file( "config/gnip.yml" )[environment.to_s]
49
- puts "c: #{@config}"
50
49
  else
51
50
  raise Exception.new( <<-RUBY
52
51
  You must provide a configuration file at config/gnip.yml
@@ -79,11 +78,12 @@ module Gnip
79
78
  end
80
79
 
81
80
  class Rule
82
- attr_accessor :value, :tag
81
+ attr_accessor :value, :tag, :errors
83
82
 
84
83
  def initialize( v , t = nil )
85
84
  @value = v
86
85
  @tag = t
86
+ @errors = []
87
87
  end
88
88
 
89
89
  def to_json
@@ -92,5 +92,21 @@ module Gnip
92
92
  JSON.generate( o )
93
93
  end
94
94
 
95
+ def valid?
96
+ valid = validate_phrase_count
97
+ raise "Invalid rule #{self.errors.join('\n')}" unless valid
98
+ end
99
+
100
+ private
101
+
102
+ def validate_phrase_count
103
+ phrases = @value.scan( /(\"[\w\-\s]+\"|\w+\s?)/ ).count
104
+ if phrases > 10
105
+ @errors << "Too many clauses in phrase - #{phrases}. The maximum allowed is 10"
106
+ return false
107
+ end
108
+ return true
109
+ end
110
+
95
111
  end
96
112
  end
data/test/test_rule.rb CHANGED
@@ -23,6 +23,19 @@ class TestRule < Test::Unit::TestCase
23
23
  end
24
24
  end
25
25
 
26
+ context "with more than 10 phrases" do
27
+ setup do
28
+ @rule = Gnip::Rule.new('mirror mirror clip -watch -see -project -mirror -relativity -armie -julia -lily -trailer -movie' )
29
+ end
30
+
31
+ should "raise an invalid length error" do
32
+ assert_raise RuntimeError do
33
+ @rule.valid?
34
+ end
35
+
36
+ end
37
+ end
38
+
26
39
  context "with tags" do
27
40
  setup do
28
41
  @rule = Gnip::Rule.new( "gorgon" , "scary" )
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gnip-rules
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ date: 2011-12-19 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: httparty
17
- requirement: &70314327301400 !ruby/object:Gem::Requirement
17
+ requirement: &70286624182720 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '0'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *70314327301400
25
+ version_requirements: *70286624182720
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rake
28
- requirement: &70314327454480 !ruby/object:Gem::Requirement
28
+ requirement: &70286624331740 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *70314327454480
36
+ version_requirements: *70286624331740
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: json
39
- requirement: &70314327533960 !ruby/object:Gem::Requirement
39
+ requirement: &70286624416560 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: '0'
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *70314327533960
47
+ version_requirements: *70286624416560
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: activesupport
50
- requirement: &70314327532360 !ruby/object:Gem::Requirement
50
+ requirement: &70286624414700 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: '0'
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *70314327532360
58
+ version_requirements: *70286624414700
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: shoulda-context
61
- requirement: &70314327529900 !ruby/object:Gem::Requirement
61
+ requirement: &70286628109880 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ! '>='
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: '0'
67
67
  type: :development
68
68
  prerelease: false
69
- version_requirements: *70314327529900
69
+ version_requirements: *70286628109880
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: turn
72
- requirement: &70314327556440 !ruby/object:Gem::Requirement
72
+ requirement: &70286628108560 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ! '>='
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: '0'
78
78
  type: :development
79
79
  prerelease: false
80
- version_requirements: *70314327556440
80
+ version_requirements: *70286628108560
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: assert2
83
- requirement: &70314327555220 !ruby/object:Gem::Requirement
83
+ requirement: &70286628107240 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ! '>='
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: '0'
89
89
  type: :development
90
90
  prerelease: false
91
- version_requirements: *70314327555220
91
+ version_requirements: *70286628107240
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: bundler
94
- requirement: &70314327553660 !ruby/object:Gem::Requirement
94
+ requirement: &70286628105700 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ~>
@@ -99,10 +99,10 @@ dependencies:
99
99
  version: 1.0.0
100
100
  type: :development
101
101
  prerelease: false
102
- version_requirements: *70314327553660
102
+ version_requirements: *70286628105700
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: jeweler
105
- requirement: &70314327552260 !ruby/object:Gem::Requirement
105
+ requirement: &70286628103560 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - ~>
@@ -110,10 +110,10 @@ dependencies:
110
110
  version: 1.6.4
111
111
  type: :development
112
112
  prerelease: false
113
- version_requirements: *70314327552260
113
+ version_requirements: *70286628103560
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: rcov
116
- requirement: &70314327550220 !ruby/object:Gem::Requirement
116
+ requirement: &70286628102560 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - ! '>='
@@ -121,7 +121,7 @@ dependencies:
121
121
  version: '0'
122
122
  type: :development
123
123
  prerelease: false
124
- version_requirements: *70314327550220
124
+ version_requirements: *70286628102560
125
125
  description: Remove, Add and List your Gnip Rules
126
126
  email: spencer@theablefew.com
127
127
  executables: []
@@ -136,6 +136,7 @@ files:
136
136
  - README.md
137
137
  - Rakefile
138
138
  - VERSION
139
+ - gnip-rules.gemspec
139
140
  - lib/gnip-rules.rb
140
141
  - test/helper.rb
141
142
  - test/test_gnip-rules.rb
@@ -155,7 +156,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
155
156
  version: '0'
156
157
  segments:
157
158
  - 0
158
- hash: -1745993365718660061
159
+ hash: -2414648297974948062
159
160
  required_rubygems_version: !ruby/object:Gem::Requirement
160
161
  none: false
161
162
  requirements: