ironhide 0.0.1 → 0.0.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.
data/.gitignore CHANGED
@@ -2,3 +2,4 @@ pkg/*
2
2
  *.gem
3
3
  .bundle
4
4
  tags
5
+ Gemfile.lock
data/TODO ADDED
@@ -0,0 +1 @@
1
+ * support get file contents from disk too.
@@ -14,7 +14,6 @@ Gem::Specification.new do |s|
14
14
  s.required_rubygems_version = ">= 1.3.6"
15
15
  s.rubyforge_project = "ironhide"
16
16
 
17
- s.add_dependency "rails", ">= 2.3"
18
17
  s.add_dependency "httpclient", ">= 2.1.5.2"
19
18
 
20
19
  s.add_development_dependency "bundler", ">= 1.0.0"
@@ -10,4 +10,4 @@ end
10
10
  require 'ironhide/includer'
11
11
  require 'ironhide/helpers/includer_helper'
12
12
 
13
- Ironhide.enable_helpers
13
+ Ironhide.enable_helpers if defined? Rails
@@ -1,5 +1,4 @@
1
1
  require 'httpclient'
2
- require 'rails'
3
2
 
4
3
  module Ironhide
5
4
  class Includer
@@ -8,23 +7,36 @@ module Ironhide
8
7
  attr_writer :default_timeout
9
8
 
10
9
  def default_timeout
11
- @default_timeout ||= 10.minutes
10
+ @default_timeout ||= 600
12
11
  end
13
12
 
14
13
  def get(url, timeout = default_timeout)
15
- key = "Ironhide::Includer::#{Digest::MD5.hexdigest(url)}"
16
- cached = Rails.cache.read(key)
14
+ cached = cache_read(url)
17
15
  return cached unless cached.nil?
18
16
 
19
17
  response = HTTPClient.get(url)
20
18
  if response.status_code == 200
21
19
  content = response.body.content
22
- Rails.cache.write(key, content, :expires_in => timeout)
20
+ cache_write(url, content, timeout)
23
21
  content
24
22
  else
25
23
  nil
26
24
  end
27
25
  end
26
+
27
+ def cache_read(url)
28
+ return nil unless defined? Rails
29
+ Rails.cache.read(cache_key(url))
30
+ end
31
+
32
+ def cache_write(url, value, timeout)
33
+ return unless defined? Rails
34
+ Rails.cache.write(cache_key(url), value, :expires_in => timeout)
35
+ end
36
+
37
+ def cache_key(url)
38
+ "Ironhide::Includer::#{Digest::MD5.hexdigest(url)}"
39
+ end
28
40
  end
29
41
 
30
42
  extend ClassMethods
@@ -1,3 +1,3 @@
1
1
  module Ironhide
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -1,4 +1,31 @@
1
1
  require 'rubygems'
2
+
3
+ begin
4
+ # rails 3.0.x
5
+ require 'rails'
6
+ require 'rails/application/configurable'
7
+ require 'rails/application/configuration'
8
+ require 'rails/application/bootstrap'
9
+ require 'rails/application/railties'
10
+ require 'rails/application/finisher'
11
+ require 'action_view'
12
+ require 'action_view/base'
13
+ require 'action_view/helpers'
14
+ require 'action_view/lookup_context'
15
+ require 'action_view/paths'
16
+ require 'active_support/cache'
17
+ require 'active_support/cache/memory_store'
18
+ rescue LoadError
19
+ # rails 2.3.x
20
+ require 'initializer'
21
+ require 'action_view'
22
+ require 'action_view/base'
23
+ require 'action_view/helpers'
24
+ require 'action_view/paths'
25
+ require 'active_support/cache'
26
+ require 'active_support/cache/memory_store'
27
+ end
28
+
2
29
  require 'bundler/setup'
3
30
 
4
31
  require 'ironhide'
@@ -6,6 +33,11 @@ require 'ironhide'
6
33
  require 'webmock/rspec'
7
34
 
8
35
  RSpec.configure do |config|
9
- Class.new(Rails::Application)
10
- Rails.application.initializers.select { |x| x.name == :initialize_cache }.first.run
36
+ if Rails.version.split('.').first == '3'
37
+ Class.new(Rails::Application)
38
+ Rails.application.initializers.select { |x| x.name == :initialize_cache }.first.run
39
+ else
40
+ RAILS_ROOT = "./"
41
+ Rails::Initializer.new(Rails::Configuration.new).initialize_cache
42
+ end
11
43
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ironhide
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
5
- prerelease: false
4
+ hash: 27
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 1
10
- version: 0.0.1
9
+ - 2
10
+ version: 0.0.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Felipe Oliveira
@@ -15,28 +15,13 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-12-14 00:00:00 -02:00
18
+ date: 2011-02-16 00:00:00 -02:00
19
19
  default_executable:
20
20
  dependencies:
21
- - !ruby/object:Gem::Dependency
22
- name: rails
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 5
30
- segments:
31
- - 2
32
- - 3
33
- version: "2.3"
34
- type: :runtime
35
- version_requirements: *id001
36
21
  - !ruby/object:Gem::Dependency
37
22
  name: httpclient
38
23
  prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ requirement: &id001 !ruby/object:Gem::Requirement
40
25
  none: false
41
26
  requirements:
42
27
  - - ">="
@@ -49,11 +34,11 @@ dependencies:
49
34
  - 2
50
35
  version: 2.1.5.2
51
36
  type: :runtime
52
- version_requirements: *id002
37
+ version_requirements: *id001
53
38
  - !ruby/object:Gem::Dependency
54
39
  name: bundler
55
40
  prerelease: false
56
- requirement: &id003 !ruby/object:Gem::Requirement
41
+ requirement: &id002 !ruby/object:Gem::Requirement
57
42
  none: false
58
43
  requirements:
59
44
  - - ">="
@@ -65,11 +50,11 @@ dependencies:
65
50
  - 0
66
51
  version: 1.0.0
67
52
  type: :development
68
- version_requirements: *id003
53
+ version_requirements: *id002
69
54
  - !ruby/object:Gem::Dependency
70
55
  name: rspec
71
56
  prerelease: false
72
- requirement: &id004 !ruby/object:Gem::Requirement
57
+ requirement: &id003 !ruby/object:Gem::Requirement
73
58
  none: false
74
59
  requirements:
75
60
  - - ">="
@@ -80,11 +65,11 @@ dependencies:
80
65
  - 2
81
66
  version: "2.2"
82
67
  type: :development
83
- version_requirements: *id004
68
+ version_requirements: *id003
84
69
  - !ruby/object:Gem::Dependency
85
70
  name: webmock
86
71
  prerelease: false
87
- requirement: &id005 !ruby/object:Gem::Requirement
72
+ requirement: &id004 !ruby/object:Gem::Requirement
88
73
  none: false
89
74
  requirements:
90
75
  - - ">="
@@ -96,7 +81,7 @@ dependencies:
96
81
  - 1
97
82
  version: 1.6.1
98
83
  type: :development
99
- version_requirements: *id005
84
+ version_requirements: *id004
100
85
  description: Allows you to include an external html file inside your view.
101
86
  email:
102
87
  - felipecvo@gmail.com
@@ -109,9 +94,9 @@ extra_rdoc_files: []
109
94
  files:
110
95
  - .gitignore
111
96
  - Gemfile
112
- - Gemfile.lock
113
97
  - README.rdoc
114
98
  - Rakefile
99
+ - TODO
115
100
  - ironhide.gemspec
116
101
  - lib/ironhide.rb
117
102
  - lib/ironhide/helpers/includer_helper.rb
@@ -152,7 +137,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
152
137
  requirements: []
153
138
 
154
139
  rubyforge_project: ironhide
155
- rubygems_version: 1.3.7
140
+ rubygems_version: 1.4.2
156
141
  signing_key:
157
142
  specification_version: 3
158
143
  summary: Allows you to include an external html file inside your view.
@@ -1,98 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- ironhide (0.0.1)
5
- httpclient (>= 2.1.5.2)
6
- rails (>= 2.3)
7
-
8
- GEM
9
- remote: http://rubygems.org/
10
- specs:
11
- abstract (1.0.0)
12
- actionmailer (3.0.0)
13
- actionpack (= 3.0.0)
14
- mail (~> 2.2.5)
15
- actionpack (3.0.0)
16
- activemodel (= 3.0.0)
17
- activesupport (= 3.0.0)
18
- builder (~> 2.1.2)
19
- erubis (~> 2.6.6)
20
- i18n (~> 0.4.1)
21
- rack (~> 1.2.1)
22
- rack-mount (~> 0.6.12)
23
- rack-test (~> 0.5.4)
24
- tzinfo (~> 0.3.23)
25
- activemodel (3.0.0)
26
- activesupport (= 3.0.0)
27
- builder (~> 2.1.2)
28
- i18n (~> 0.4.1)
29
- activerecord (3.0.0)
30
- activemodel (= 3.0.0)
31
- activesupport (= 3.0.0)
32
- arel (~> 1.0.0)
33
- tzinfo (~> 0.3.23)
34
- activeresource (3.0.0)
35
- activemodel (= 3.0.0)
36
- activesupport (= 3.0.0)
37
- activesupport (3.0.0)
38
- addressable (2.2.2)
39
- arel (1.0.1)
40
- activesupport (~> 3.0.0)
41
- builder (2.1.2)
42
- crack (0.1.8)
43
- diff-lcs (1.1.2)
44
- erubis (2.6.6)
45
- abstract (>= 1.0.0)
46
- httpclient (2.1.5.2)
47
- i18n (0.4.1)
48
- mail (2.2.5)
49
- activesupport (>= 2.3.6)
50
- mime-types
51
- treetop (>= 1.4.5)
52
- mime-types (1.16)
53
- polyglot (0.3.1)
54
- rack (1.2.1)
55
- rack-mount (0.6.13)
56
- rack (>= 1.0.0)
57
- rack-test (0.5.4)
58
- rack (>= 1.0)
59
- rails (3.0.0)
60
- actionmailer (= 3.0.0)
61
- actionpack (= 3.0.0)
62
- activerecord (= 3.0.0)
63
- activeresource (= 3.0.0)
64
- activesupport (= 3.0.0)
65
- bundler (~> 1.0.0)
66
- railties (= 3.0.0)
67
- railties (3.0.0)
68
- actionpack (= 3.0.0)
69
- activesupport (= 3.0.0)
70
- rake (>= 0.8.4)
71
- thor (~> 0.14.0)
72
- rake (0.8.7)
73
- rspec (2.2.0)
74
- rspec-core (~> 2.2)
75
- rspec-expectations (~> 2.2)
76
- rspec-mocks (~> 2.2)
77
- rspec-core (2.2.1)
78
- rspec-expectations (2.2.0)
79
- diff-lcs (~> 1.1.2)
80
- rspec-mocks (2.2.0)
81
- thor (0.14.0)
82
- treetop (1.4.8)
83
- polyglot (>= 0.3.1)
84
- tzinfo (0.3.23)
85
- webmock (1.6.1)
86
- addressable (>= 2.2.2)
87
- crack (>= 0.1.7)
88
-
89
- PLATFORMS
90
- ruby
91
-
92
- DEPENDENCIES
93
- bundler (>= 1.0.0)
94
- httpclient (>= 2.1.5.2)
95
- ironhide!
96
- rails (>= 2.3)
97
- rspec (>= 2.2)
98
- webmock (>= 1.6.1)