cloudfuji 0.0.39 → 0.0.40

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.
@@ -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