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