gnip-rules 1.0.0 → 1.0.1

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