bitzer_store 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2805ecf0924e8a2638b633c62bfe4c43d8a941fb
4
- data.tar.gz: e14e69f32ed0a2f440dcaddae5c725b85704dbab
3
+ metadata.gz: 721a1296290061a712d564f894cda9c30ad53ab3
4
+ data.tar.gz: 9ed9482d546b1c4766daded40c314479c779bfcd
5
5
  SHA512:
6
- metadata.gz: 723259652890899d5245e45e14dbaa7e41bd53e2ff74d9e9fb9d56fab40cf9834e1ab120ea8fb588ff99222cfcc2147fe7929b7c7fc6afe750a5a2d6b5f83c41
7
- data.tar.gz: c311045820e31cdf4d0198e732172fafa5eb0a2611c153bdf981713406300f075f18980786a6cf807c76fe684c06602987c0632feaa15ce2a75b806a1d19e013
6
+ metadata.gz: 80b855e03b7e4d7cd13ea508230ad5afce4d1f3b0f9d938f8f5f70b541b392eb61998b433925c521208a90a669b663fa5d0fc4e05c403ec9c2e8dcb2d824e614
7
+ data.tar.gz: 488eb5bf95e17cd4c58e1e2053ced8c53cb59e6b6f7163545e70851358923475a16d33366c99531921f25ec6d348e962a3c36dc0bd3446d18d1661401ab5d4f8
data/.gitignore CHANGED
@@ -15,3 +15,4 @@ spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
+ bundle
data/Gemfile CHANGED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in n_adic_number.gemspec
4
+ gemspec
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # BitzerStore
2
2
 
3
3
  BitzerStore can treat individual cache clusters in Rails.
4
- Rails.cache uses one cache cluster.
4
+ Rails cache normally uses one cache cluster.
5
5
 
6
6
  config.cache_store = :mem_cache_store, "server1", "server2"
7
7
 
@@ -24,7 +24,7 @@ Or install it yourself as:
24
24
  ## Usage
25
25
 
26
26
  1.config
27
- at config/environments/xxx.rb
27
+ at config/environments/*.rb
28
28
 
29
29
  config.cache_store = :bitzer_store, {
30
30
  :default => [:mem_cache_store, "server0"],
data/Rakefile CHANGED
@@ -1 +1,6 @@
1
1
  require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
data/bitzer_store.gemspec CHANGED
@@ -18,6 +18,10 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.3"
22
- spec.add_development_dependency "rake"
21
+ spec.add_dependency "activesupport", ">= 3.2", "< 4.2"
22
+ spec.add_dependency "railties", ">= 3.2", "< 4.2"
23
+
24
+ spec.add_development_dependency "bundler", '~> 1.6'
25
+ spec.add_development_dependency "rake", '~> 10.3'
26
+ spec.add_development_dependency "rspec", '~> 3.0'
23
27
  end
@@ -0,0 +1,46 @@
1
+ require 'active_support/core_ext/array/extract_options'
2
+ require 'active_support/core_ext/object/blank'
3
+
4
+ module BitzerStore
5
+ class Configure
6
+ def self.setting(config)
7
+ raise ArgumentError, "block not supplied" unless block_given?
8
+ c = Configure.new
9
+ yield(c)
10
+ config.cache_store = :bitzer_store, c.settings
11
+ end
12
+
13
+ attr_reader :settings
14
+
15
+ def initialize
16
+ @settings = {}
17
+ end
18
+
19
+ def set(name, *args)
20
+ options = common_options.merge(args.extract_options!)
21
+ args = args.presence || common_args
22
+ args << options if options.present?
23
+
24
+ @settings[name] = args
25
+ end
26
+
27
+ def method_missing(name, *args, &block)
28
+ set(name, *args)
29
+ end
30
+
31
+ def common_setting(*args)
32
+ @common_options = args.extract_options!
33
+ @common_args = args
34
+ end
35
+
36
+ private
37
+
38
+ def common_args
39
+ @common_args || []
40
+ end
41
+
42
+ def common_options
43
+ @common_options || {}
44
+ end
45
+ end
46
+ end
@@ -1,3 +1,3 @@
1
1
  module BitzerStore
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/lib/bitzer_store.rb CHANGED
@@ -1 +1,8 @@
1
1
  require "bitzer_store/version"
2
+ require "bitzer_store/configure"
3
+
4
+ module BitzerStore
5
+ def self.configure(rails_config, &block)
6
+ Configure.setting(rails_config, &block)
7
+ end
8
+ end
@@ -0,0 +1,2 @@
1
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
+ require 'bitzer_store'
@@ -0,0 +1,27 @@
1
+ require 'spec_helper'
2
+
3
+ describe BitzerStore::Configure do
4
+ context "#set" do
5
+ it "add settings" do
6
+ c = BitzerStore::Configure.new
7
+ c.set(:cache_name, :dalli, "localhost:11211", :expires_in => 600)
8
+ expect(c.settings.keys.first).to eq(:cache_name)
9
+ expect(c.settings.values.first).to eq([:dalli, "localhost:11211", :expires_in => 600])
10
+ end
11
+
12
+ it "use method_missing" do
13
+ c = BitzerStore::Configure.new
14
+ c.cache_name :dalli, "localhost:11211", :expires_in => 600
15
+ expect(c.settings.keys.first).to eq(:cache_name)
16
+ expect(c.settings.values.first).to eq([:dalli, "localhost:11211", :expires_in => 600])
17
+ end
18
+
19
+ it "use common_setting" do
20
+ c = BitzerStore::Configure.new
21
+ c.common_setting :dalli, "localhost:11211", :expires_in => 600, :namespace => "tsuka"
22
+ c.cache_name :namespace => "special"
23
+ expect(c.settings.keys.first).to eq(:cache_name)
24
+ expect(c.settings.values.first).to eq([:dalli, "localhost:11211", :expires_in => 600, :namespace => "special"])
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,16 @@
1
+ require 'spec_helper'
2
+ require 'rails'
3
+
4
+ describe BitzerStore do
5
+ context ".configure" do
6
+ it "set cache_store config" do
7
+ c = Rails::Application::Configuration.new
8
+ BitzerStore.configure(c) do |cache|
9
+ cache.common_setting :dalli, "localhost:11211", :expires_in => 600
10
+ cache.default :namespace => "tsuka"
11
+ end
12
+
13
+ expect(c.cache_store).to eq([:bitzer_store, {:default=>[:dalli, "localhost:11211", {:expires_in=>600, :namespace=>"tsuka"}]}])
14
+ end
15
+ end
16
+ end
metadata CHANGED
@@ -1,43 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bitzer_store
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - tsukasaoishi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-04-06 00:00:00.000000000 Z
11
+ date: 2014-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '3.2'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '4.2'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '3.2'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '4.2'
33
+ - !ruby/object:Gem::Dependency
34
+ name: railties
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '3.2'
40
+ - - "<"
41
+ - !ruby/object:Gem::Version
42
+ version: '4.2'
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: '3.2'
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: '4.2'
13
53
  - !ruby/object:Gem::Dependency
14
54
  name: bundler
15
55
  requirement: !ruby/object:Gem::Requirement
16
56
  requirements:
17
- - - ~>
57
+ - - "~>"
18
58
  - !ruby/object:Gem::Version
19
- version: '1.3'
59
+ version: '1.6'
20
60
  type: :development
21
61
  prerelease: false
22
62
  version_requirements: !ruby/object:Gem::Requirement
23
63
  requirements:
24
- - - ~>
64
+ - - "~>"
25
65
  - !ruby/object:Gem::Version
26
- version: '1.3'
66
+ version: '1.6'
27
67
  - !ruby/object:Gem::Dependency
28
68
  name: rake
29
69
  requirement: !ruby/object:Gem::Requirement
30
70
  requirements:
31
- - - '>='
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '10.3'
74
+ type: :development
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '10.3'
81
+ - !ruby/object:Gem::Dependency
82
+ name: rspec
83
+ requirement: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
32
86
  - !ruby/object:Gem::Version
33
- version: '0'
87
+ version: '3.0'
34
88
  type: :development
35
89
  prerelease: false
36
90
  version_requirements: !ruby/object:Gem::Requirement
37
91
  requirements:
38
- - - '>='
92
+ - - "~>"
39
93
  - !ruby/object:Gem::Version
40
- version: '0'
94
+ version: '3.0'
41
95
  description: BitzerStore can treat individual cache clusters in Rails.
42
96
  email:
43
97
  - tsukasa.oishi@gmail.com
@@ -45,7 +99,7 @@ executables: []
45
99
  extensions: []
46
100
  extra_rdoc_files: []
47
101
  files:
48
- - .gitignore
102
+ - ".gitignore"
49
103
  - Gemfile
50
104
  - LICENSE.txt
51
105
  - README.md
@@ -53,7 +107,11 @@ files:
53
107
  - bitzer_store.gemspec
54
108
  - lib/active_support/cache/bitzer_store.rb
55
109
  - lib/bitzer_store.rb
110
+ - lib/bitzer_store/configure.rb
56
111
  - lib/bitzer_store/version.rb
112
+ - spec/spec_helper.rb
113
+ - spec/unit/bitzer_store_configure_spec.rb
114
+ - spec/unit/bitzer_store_spec.rb
57
115
  homepage: https://github.com/tsukasaoishi/bitzer_store
58
116
  licenses:
59
117
  - MIT
@@ -64,18 +122,21 @@ require_paths:
64
122
  - lib
65
123
  required_ruby_version: !ruby/object:Gem::Requirement
66
124
  requirements:
67
- - - '>='
125
+ - - ">="
68
126
  - !ruby/object:Gem::Version
69
127
  version: '0'
70
128
  required_rubygems_version: !ruby/object:Gem::Requirement
71
129
  requirements:
72
- - - '>='
130
+ - - ">="
73
131
  - !ruby/object:Gem::Version
74
132
  version: '0'
75
133
  requirements: []
76
134
  rubyforge_project:
77
- rubygems_version: 2.0.0
135
+ rubygems_version: 2.2.2
78
136
  signing_key:
79
137
  specification_version: 4
80
138
  summary: BitzerStore can treat individual cache clusters in Rails.
81
- test_files: []
139
+ test_files:
140
+ - spec/spec_helper.rb
141
+ - spec/unit/bitzer_store_configure_spec.rb
142
+ - spec/unit/bitzer_store_spec.rb