modis 1.4.1-java

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.
@@ -0,0 +1,24 @@
1
+ unless ENV['TRAVIS']
2
+ begin
3
+ require './spec/support/simplecov_helper'
4
+ include SimpleCovHelper
5
+ start_simple_cov('unit')
6
+ rescue LoadError
7
+ puts "Coverage disabled."
8
+ end
9
+ end
10
+
11
+ require 'modis'
12
+
13
+ Modis.configure do |config|
14
+ config.namespace = 'modis'
15
+ end
16
+
17
+ RSpec.configure do |config|
18
+ config.after :each do
19
+ Modis.with_connection do |connection|
20
+ keys = connection.keys "#{Modis.config.namespace}:*"
21
+ connection.del(*keys) unless keys.empty?
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,23 @@
1
+ require 'simplecov'
2
+ require './spec/support/simplecov_quality_formatter'
3
+
4
+ module SimpleCovHelper
5
+ def start_simple_cov(name)
6
+ SimpleCov.start do
7
+ add_filter '/spec/'
8
+ command_name name
9
+
10
+ formatters = [SimpleCov::Formatter::QualityFormatter]
11
+
12
+ if ENV['TRAVIS']
13
+ require 'codeclimate-test-reporter'
14
+
15
+ if CodeClimate::TestReporter.run?
16
+ formatters << CodeClimate::TestReporter::Formatter
17
+ end
18
+ end
19
+
20
+ formatter SimpleCov::Formatter::MultiFormatter[*formatters]
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,12 @@
1
+ module SimpleCov
2
+ module Formatter
3
+ class QualityFormatter
4
+ def format(result)
5
+ SimpleCov::Formatter::HTMLFormatter.new.format(result)
6
+ File.open("coverage/covered_percent", "w") do |f|
7
+ f.puts result.source_files.covered_percent.to_f
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,16 @@
1
+ require 'spec_helper'
2
+
3
+ module TransactionSpec
4
+ class MockModel
5
+ include Modis::Model
6
+ end
7
+ end
8
+
9
+ describe Modis::Transaction do
10
+ it 'yields the block in a transaction' do
11
+ redis = double.as_null_object
12
+ allow(Modis).to receive(:with_connection).and_yield(redis)
13
+ expect(redis).to receive(:multi)
14
+ TransactionSpec::MockModel.transaction {}
15
+ end
16
+ end
@@ -0,0 +1,49 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'validations' do
4
+ class TestModel
5
+ include Modis::Model
6
+ attribute :name, :string
7
+ validates :name, presence: true
8
+ end
9
+
10
+ let(:model) { TestModel.new }
11
+
12
+ it 'responds to valid?' do
13
+ model.name = nil
14
+ expect(model.valid?).to be false
15
+ end
16
+
17
+ it 'sets errors on the model' do
18
+ model.name = nil
19
+ model.valid?
20
+ expect(model.errors[:name]).to eq(["can't be blank"])
21
+ end
22
+
23
+ describe 'save' do
24
+ it 'returns true if the model is valid' do
25
+ model.name = "Ian"
26
+ expect(model.save).to be true
27
+ end
28
+
29
+ it 'returns false if the model is invalid' do
30
+ model.name = nil
31
+ expect(model.save).to be false
32
+ end
33
+ end
34
+
35
+ describe 'save!' do
36
+ it 'raises an error if the model is invalid' do
37
+ model.name = nil
38
+ expect do
39
+ expect(model.save!).to be false
40
+ end.to raise_error(Modis::RecordInvalid)
41
+ end
42
+ end
43
+
44
+ describe 'create!' do
45
+ it 'raises an error if the record is not valid' do
46
+ expect { TestModel.create!(name: nil) }.to raise_error(Modis::RecordInvalid)
47
+ end
48
+ end
49
+ end
metadata ADDED
@@ -0,0 +1,173 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: modis
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.4.1
5
+ platform: java
6
+ authors:
7
+ - Ian Leitch
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-01-20 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - '>='
17
+ - !ruby/object:Gem::Version
18
+ version: '3.0'
19
+ name: activemodel
20
+ prerelease: false
21
+ type: :runtime
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '3.0'
27
+ - !ruby/object:Gem::Dependency
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '3.0'
33
+ name: activesupport
34
+ prerelease: false
35
+ type: :runtime
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '3.0'
41
+ - !ruby/object:Gem::Dependency
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '3.0'
47
+ name: redis
48
+ prerelease: false
49
+ type: :runtime
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - '>='
59
+ - !ruby/object:Gem::Version
60
+ version: '0.5'
61
+ name: hiredis
62
+ prerelease: false
63
+ type: :runtime
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0.5'
69
+ - !ruby/object:Gem::Dependency
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - '>='
73
+ - !ruby/object:Gem::Version
74
+ version: '2'
75
+ name: connection_pool
76
+ prerelease: false
77
+ type: :runtime
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '2'
83
+ - !ruby/object:Gem::Dependency
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ name: msgpack-jruby
90
+ prerelease: false
91
+ type: :runtime
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ description: ActiveModel + Redis
98
+ email:
99
+ - port001@gmail.com
100
+ executables: []
101
+ extensions: []
102
+ extra_rdoc_files: []
103
+ files:
104
+ - .gitignore
105
+ - .rubocop.yml
106
+ - .ruby-gemset
107
+ - .ruby-version
108
+ - .travis.yml
109
+ - Gemfile
110
+ - Gemfile.lock
111
+ - LICENSE.txt
112
+ - README.md
113
+ - Rakefile
114
+ - benchmark/bench.rb
115
+ - benchmark/find.rb
116
+ - benchmark/persistence.rb
117
+ - benchmark/redis/connection/fakedis.rb
118
+ - lib/modis.rb
119
+ - lib/modis/attribute.rb
120
+ - lib/modis/configuration.rb
121
+ - lib/modis/errors.rb
122
+ - lib/modis/finder.rb
123
+ - lib/modis/index.rb
124
+ - lib/modis/model.rb
125
+ - lib/modis/persistence.rb
126
+ - lib/modis/transaction.rb
127
+ - lib/modis/version.rb
128
+ - lib/tasks/quality.rake
129
+ - modis.gemspec
130
+ - spec/attribute_spec.rb
131
+ - spec/errors_spec.rb
132
+ - spec/finder_spec.rb
133
+ - spec/index_spec.rb
134
+ - spec/persistence_spec.rb
135
+ - spec/spec_helper.rb
136
+ - spec/support/simplecov_helper.rb
137
+ - spec/support/simplecov_quality_formatter.rb
138
+ - spec/transaction_spec.rb
139
+ - spec/validations_spec.rb
140
+ homepage: ''
141
+ licenses: []
142
+ metadata: {}
143
+ post_install_message:
144
+ rdoc_options: []
145
+ require_paths:
146
+ - lib
147
+ required_ruby_version: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - '>='
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
152
+ required_rubygems_version: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - '>='
155
+ - !ruby/object:Gem::Version
156
+ version: '0'
157
+ requirements: []
158
+ rubyforge_project:
159
+ rubygems_version: 2.1.9
160
+ signing_key:
161
+ specification_version: 4
162
+ summary: ActiveModel + Redis
163
+ test_files:
164
+ - spec/attribute_spec.rb
165
+ - spec/errors_spec.rb
166
+ - spec/finder_spec.rb
167
+ - spec/index_spec.rb
168
+ - spec/persistence_spec.rb
169
+ - spec/spec_helper.rb
170
+ - spec/support/simplecov_helper.rb
171
+ - spec/support/simplecov_quality_formatter.rb
172
+ - spec/transaction_spec.rb
173
+ - spec/validations_spec.rb