clean-bitmask-attribute 2.0.0 → 2.0.1

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/VERSION CHANGED
@@ -1 +1 @@
1
- 2.0.0
1
+ 2.0.1
@@ -0,0 +1,69 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{clean-bitmask-attribute}
8
+ s.version = "2.0.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Pavel Chipiga", "Bruce Williams"]
12
+ s.date = %q{2010-08-26}
13
+ s.email = %q{pavel.chipiga@gmail.com}
14
+ s.extra_rdoc_files = [
15
+ "LICENSE",
16
+ "README.markdown"
17
+ ]
18
+ s.files = [
19
+ ".document",
20
+ ".gitignore",
21
+ "LICENSE",
22
+ "README.markdown",
23
+ "Rakefile",
24
+ "VERSION",
25
+ "clean-bitmask-attribute.gemspec",
26
+ "lib/bitmask-attribute.rb",
27
+ "lib/bitmask_attribute.rb",
28
+ "lib/bitmask_attribute/attribute.rb",
29
+ "lib/bitmask_attribute/core_ext/blank.rb",
30
+ "lib/bitmask_attribute/core_ext/hash_with_indifferent_access.rb",
31
+ "lib/bitmask_attribute/value_proxy.rb",
32
+ "rails/init.rb",
33
+ "test/bitmask_attribute_test.rb",
34
+ "test/clean_bitmask_attribute_test.rb",
35
+ "test/clean_test_helper.rb",
36
+ "test/test_helper.rb"
37
+ ]
38
+ s.homepage = %q{http://github.com/chipiga/bitmask-attribute/tree/clean}
39
+ s.rdoc_options = ["--charset=UTF-8"]
40
+ s.require_paths = ["lib"]
41
+ s.rubygems_version = %q{1.3.7}
42
+ s.summary = %q{Simple bitmask attribute support for any class}
43
+ s.test_files = [
44
+ "test/bitmask_attribute_test.rb",
45
+ "test/clean_bitmask_attribute_test.rb",
46
+ "test/clean_test_helper.rb",
47
+ "test/test_helper.rb"
48
+ ]
49
+
50
+ if s.respond_to? :specification_version then
51
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
52
+ s.specification_version = 3
53
+
54
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
55
+ s.add_development_dependency(%q<activerecord>, [">= 0"])
56
+ s.add_development_dependency(%q<sqlite3-ruby>, [">= 0"])
57
+ s.add_development_dependency(%q<shoulda>, [">= 0"])
58
+ else
59
+ s.add_dependency(%q<activerecord>, [">= 0"])
60
+ s.add_dependency(%q<sqlite3-ruby>, [">= 0"])
61
+ s.add_dependency(%q<shoulda>, [">= 0"])
62
+ end
63
+ else
64
+ s.add_dependency(%q<activerecord>, [">= 0"])
65
+ s.add_dependency(%q<sqlite3-ruby>, [">= 0"])
66
+ s.add_dependency(%q<shoulda>, [">= 0"])
67
+ end
68
+ end
69
+
@@ -17,7 +17,7 @@ module BitmaskAttribute
17
17
  %w(push << delete replace reject! select!).each do |override|
18
18
  class_eval(<<-EOEVAL)
19
19
  def #{override}(*args)
20
- returning(super) do
20
+ super.tap do
21
21
  updated!
22
22
  end
23
23
  end
@@ -60,7 +60,7 @@ module BitmaskAttribute
60
60
  def extract_values
61
61
  stored = [@record.send(:read_attribute, @attribute) || 0, 0].max
62
62
  @mapping.inject([]) do |values, (value, bitmask)|
63
- returning values do
63
+ values.tap do
64
64
  values << value.to_sym if (stored & bitmask > 0)
65
65
  end
66
66
  end
@@ -1,7 +1,6 @@
1
1
  require 'bitmask_attribute/value_proxy'
2
2
  require 'bitmask_attribute/attribute'
3
3
  require 'bitmask_attribute/core_ext/hash_with_indifferent_access' unless defined?(HashWithIndifferentAccess)
4
- require 'bitmask_attribute/core_ext/returning' unless Object.respond_to?(:returning)
5
4
  require 'bitmask_attribute/core_ext/blank' unless Object.respond_to?(:blank?)
6
5
 
7
6
  module BitmaskAttribute
@@ -35,7 +34,7 @@ module BitmaskAttribute
35
34
  end
36
35
 
37
36
  def generate_bitmasks_on(model)
38
- model.bitmasks[attribute] = returning HashWithIndifferentAccess.new do |mapping|
37
+ model.bitmasks[attribute] = HashWithIndifferentAccess.new.tap do |mapping|
39
38
  values.each_with_index do |value, index|
40
39
  mapping[value] = 0b1 << index
41
40
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clean-bitmask-attribute
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15
4
+ hash: 13
5
5
  prerelease: false
6
6
  segments:
7
7
  - 2
8
8
  - 0
9
- - 0
10
- version: 2.0.0
9
+ - 1
10
+ version: 2.0.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Pavel Chipiga
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2010-07-05 00:00:00 +03:00
19
+ date: 2010-08-26 00:00:00 +03:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
@@ -77,12 +77,12 @@ files:
77
77
  - README.markdown
78
78
  - Rakefile
79
79
  - VERSION
80
+ - clean-bitmask-attribute.gemspec
80
81
  - lib/bitmask-attribute.rb
81
82
  - lib/bitmask_attribute.rb
82
83
  - lib/bitmask_attribute/attribute.rb
83
84
  - lib/bitmask_attribute/core_ext/blank.rb
84
85
  - lib/bitmask_attribute/core_ext/hash_with_indifferent_access.rb
85
- - lib/bitmask_attribute/core_ext/returning.rb
86
86
  - lib/bitmask_attribute/value_proxy.rb
87
87
  - rails/init.rb
88
88
  - test/bitmask_attribute_test.rb
@@ -1,43 +0,0 @@
1
- # Extracted from Active Support
2
- class Object
3
- # Returns +value+ after yielding +value+ to the block. This simplifies the
4
- # process of constructing an object, performing work on the object, and then
5
- # returning the object from a method. It is a Ruby-ized realization of the K
6
- # combinator, courtesy of Mikael Brockman.
7
- #
8
- # ==== Examples
9
- #
10
- # # Without returning
11
- # def foo
12
- # values = []
13
- # values << "bar"
14
- # values << "baz"
15
- # return values
16
- # end
17
- #
18
- # foo # => ['bar', 'baz']
19
- #
20
- # # returning with a local variable
21
- # def foo
22
- # returning values = [] do
23
- # values << 'bar'
24
- # values << 'baz'
25
- # end
26
- # end
27
- #
28
- # foo # => ['bar', 'baz']
29
- #
30
- # # returning with a block argument
31
- # def foo
32
- # returning [] do |values|
33
- # values << 'bar'
34
- # values << 'baz'
35
- # end
36
- # end
37
- #
38
- # foo # => ['bar', 'baz']
39
- def returning(value)
40
- yield(value)
41
- value
42
- end
43
- end