cloudfuji 0.0.39 → 0.0.40

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,63 +1,64 @@
1
1
  module Cloudfuji
2
2
  class Mailroute
3
- def self.map(&block)
4
- raise StandardError.new("Mailroute only supported in Ruby >= 1.9.1") if RUBY_VERSION < "1.9.1"
5
-
6
- @@routes ||= self.new
7
- yield @@routes
8
- end
3
+ class << self
4
+ def map(&block)
5
+ raise StandardError.new("Mailroute only supported in Ruby >= 1.9.1") if RUBY_VERSION < "1.9.1"
9
6
 
10
- def self.routes
11
- @@routes
12
- end
7
+ yield routes
8
+ end
13
9
 
14
- def self.clear_routes!
15
- @@routes = self.new
16
- end
10
+ def routes
11
+ @@routes ||= new
12
+ end
17
13
 
18
- def self.pretty_print_routes
19
- @@routes.routes.each_pair do |route_name, definition|
20
- puts "#{route_name} => "
21
- definition[:rules].each do |rule|
22
- pretty_print_rule(rule, "\t\t")
23
- end
24
- definition[:constraints].each do |constraint|
25
- pretty_print_contraint(constraint, "\t\t")
14
+ def clear_routes!
15
+ @@routes = nil
16
+ end
17
+
18
+ def pretty_print_routes
19
+ routes.routes.each_pair do |route_name, definition|
20
+ puts "#{route_name} => "
21
+ definition[:rules].each do |rule|
22
+ pretty_print_rule(rule, "\t\t")
23
+ end
24
+ definition[:constraints].each do |constraint|
25
+ pretty_print_contraint(constraint, "\t\t")
26
+ end
26
27
  end
27
28
  end
28
- end
29
29
 
30
- def self.pretty_print_rule(rule, prefix="")
31
- output = "#{prefix}#{rule.first} => #{string_to_regex(rule[1]).inspect}, required? #{rule.last == true}"
32
- puts output
33
- end
30
+ def pretty_print_rule(rule, prefix="")
31
+ output = "#{prefix}#{rule.first} => #{string_to_regex(rule[1]).inspect}, required? #{rule.last == true}"
32
+ puts output
33
+ end
34
34
 
35
- def self.pretty_print_contraint(constraint, prefix="")
36
- output = "#{prefix}Constraint: #{constraint.inspect}"
37
- puts output
38
- end
35
+ def pretty_print_contraint(constraint, prefix="")
36
+ output = "#{prefix}Constraint: #{constraint.inspect}"
37
+ puts output
38
+ end
39
39
 
40
- # Taken from somewhere on stackoverflow, props to the author!
41
- def self.string_to_regex(string)
42
- return nil unless string.strip.match(/\A\/(.*)\/(.*)\Z/mx)
43
- regexp , flags = $1 , $2
44
- return nil if !regexp || flags =~ /[^xim]/m
40
+ # Taken from somewhere on stackoverflow, props to the author!
41
+ def string_to_regex(string)
42
+ return nil unless string.strip.match(/\A\/(.*)\/(.*)\Z/mx)
43
+ regexp , flags = $1 , $2
44
+ return nil if !regexp || flags =~ /[^xim]/m
45
45
 
46
- x = /x/.match(flags) && Regexp::EXTENDED
47
- i = /i/.match(flags) && Regexp::IGNORECASE
48
- m = /m/.match(flags) && Regexp::MULTILINE
46
+ x = /x/.match(flags) && Regexp::EXTENDED
47
+ i = /i/.match(flags) && Regexp::IGNORECASE
48
+ m = /m/.match(flags) && Regexp::MULTILINE
49
49
 
50
- Regexp.new regexp , [x,i,m].inject(0){|a,f| f ? a+f : a }
51
- end
50
+ Regexp.new regexp , [x,i,m].inject(0){|a,f| f ? a+f : a }
51
+ end
52
52
 
53
- def self.field_matcher(*field_names)
54
- self.class_eval do
55
- field_names.each do |field_name|
56
- define_method field_name do |line, *args|
57
- constraints = args.first || {}
58
- required = args[1]
53
+ def field_matcher(*field_names)
54
+ class_eval do
55
+ field_names.each do |field_name|
56
+ define_method field_name do |line, *args|
57
+ constraints = args.first || {}
58
+ required = args[1]
59
59
 
60
- add_route_rule(field_name.to_s, build_matcher(line, constraints), required)
60
+ add_route_rule(field_name.to_s, build_matcher(line, constraints), required)
61
+ end
61
62
  end
62
63
  end
63
64
  end
@@ -131,11 +132,11 @@ module Cloudfuji
131
132
  _matches = false
132
133
  break
133
134
  end
134
-
135
+
135
136
  # Only Ruby 1.9 support named capture groups
136
137
  result.names.each { |key| @params[key] = result[key] }
137
138
  end
138
-
139
+
139
140
  # Run param-based constraints
140
141
  if _matches and constraints_pass?(definition[:constraints], params)
141
142
  @params['mail'] = mail
@@ -1,4 +1,4 @@
1
1
  module Cloudfuji
2
2
  # Current version of the Cloudfuji gem
3
- VERSION = "0.0.39"
3
+ VERSION = "0.0.40"
4
4
  end
metadata CHANGED
@@ -1,74 +1,71 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: cloudfuji
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.40
4
5
  prerelease:
5
- version: 0.0.39
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Sean Grove
9
9
  - Kev Zettler
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
-
14
- date: 2012-04-22 00:00:00 Z
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
13
+ date: 2012-05-11 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
17
16
  name: rest-client
18
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: &70327157978440 !ruby/object:Gem::Requirement
19
18
  none: false
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
23
22
  version: 1.6.1
24
23
  type: :runtime
25
24
  prerelease: false
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
25
+ version_requirements: *70327157978440
26
+ - !ruby/object:Gem::Dependency
28
27
  name: json
29
- requirement: &id002 !ruby/object:Gem::Requirement
28
+ requirement: &70327157977460 !ruby/object:Gem::Requirement
30
29
  none: false
31
- requirements:
32
- - - ">="
33
- - !ruby/object:Gem::Version
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
34
33
  version: 1.4.6
35
34
  type: :runtime
36
35
  prerelease: false
37
- version_requirements: *id002
38
- - !ruby/object:Gem::Dependency
36
+ version_requirements: *70327157977460
37
+ - !ruby/object:Gem::Dependency
39
38
  name: highline
40
- requirement: &id003 !ruby/object:Gem::Requirement
39
+ requirement: &70327157976980 !ruby/object:Gem::Requirement
41
40
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
45
44
  version: 1.6.1
46
45
  type: :runtime
47
46
  prerelease: false
48
- version_requirements: *id003
49
- - !ruby/object:Gem::Dependency
47
+ version_requirements: *70327157976980
48
+ - !ruby/object:Gem::Dependency
50
49
  name: orm_adapter
51
- requirement: &id004 !ruby/object:Gem::Requirement
50
+ requirement: &70327157976500 !ruby/object:Gem::Requirement
52
51
  none: false
53
- requirements:
52
+ requirements:
54
53
  - - ~>
55
- - !ruby/object:Gem::Version
54
+ - !ruby/object:Gem::Version
56
55
  version: 0.0.3
57
56
  type: :runtime
58
57
  prerelease: false
59
- version_requirements: *id004
58
+ version_requirements: *70327157976500
60
59
  description: A module for integrating the Cloudfuji platform into a ruby app
61
- email:
60
+ email:
62
61
  - support@cloudfuji.com
63
62
  - s@bushi.do
64
63
  - k@bushi.do
65
- executables:
64
+ executables:
66
65
  - cloudfuji
67
66
  extensions: []
68
-
69
67
  extra_rdoc_files: []
70
-
71
- files:
68
+ files:
72
69
  - .gitignore
73
70
  - .rspec
74
71
  - Gemfile
@@ -240,38 +237,35 @@ files:
240
237
  - test_app/spec/views/home.html.erb_spec.rb
241
238
  homepage: https://github.com/cloudfuji/cloudfuji_client
242
239
  licenses: []
243
-
244
240
  post_install_message:
245
241
  rdoc_options: []
246
-
247
- require_paths:
242
+ require_paths:
248
243
  - lib
249
- required_ruby_version: !ruby/object:Gem::Requirement
244
+ required_ruby_version: !ruby/object:Gem::Requirement
250
245
  none: false
251
- requirements:
252
- - - ">="
253
- - !ruby/object:Gem::Version
254
- hash: 634122366155286373
255
- segments:
246
+ requirements:
247
+ - - ! '>='
248
+ - !ruby/object:Gem::Version
249
+ version: '0'
250
+ segments:
256
251
  - 0
257
- version: "0"
258
- required_rubygems_version: !ruby/object:Gem::Requirement
252
+ hash: 2460629452345525607
253
+ required_rubygems_version: !ruby/object:Gem::Requirement
259
254
  none: false
260
- requirements:
261
- - - ">="
262
- - !ruby/object:Gem::Version
263
- hash: 634122366155286373
264
- segments:
255
+ requirements:
256
+ - - ! '>='
257
+ - !ruby/object:Gem::Version
258
+ version: '0'
259
+ segments:
265
260
  - 0
266
- version: "0"
261
+ hash: 2460629452345525607
267
262
  requirements: []
268
-
269
263
  rubyforge_project: cloudfuji
270
- rubygems_version: 1.8.17
264
+ rubygems_version: 1.8.10
271
265
  signing_key:
272
266
  specification_version: 3
273
267
  summary: Cloudfuji integration
274
- test_files:
268
+ test_files:
275
269
  - spec/app_spec/controllers/envs_controller_spec.rb
276
270
  - spec/app_spec/controllers/mail_controller_spec.rb
277
271
  - spec/app_spec/integration/app_claim_spec.rb