acts_as_lockable 0.2.1 → 0.2.5

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: 9d1f65e440c52da4d26577a216441a4dc9036aad
4
- data.tar.gz: 80c8df26f287cc4e8a0360326083f3cc1759965f
3
+ metadata.gz: 35f47df66132b6b7d6dc165a9251c53f6f8c32dd
4
+ data.tar.gz: f27f49e9f25301be423e085553b3354142c30645
5
5
  SHA512:
6
- metadata.gz: ef5788b86d5cecd94764b2cc913dacea16065edc248dff876bac626c88bdfd1702dd735a1028b0ff64e588a167887d06a4c7e9816042d4e4f313f92b2fdca7fe
7
- data.tar.gz: e894900d21564d686e9ce87e0800f74ffa7dcacf862a3b8f6a33595dbcf2cd9f7812f20ce73912c2ff343cc2a9e8042192fdd82a0e1dd94158cba7392e503abe
6
+ metadata.gz: d1f41f82194011e66535f40edaaa024e3661c96a15f20138541109c2409fdcbbcc8a950696bd454538539de04320adf2ac6900f0a82eff4d4f12232d7cc2d055
7
+ data.tar.gz: 70edf41e073598d8b7c92b2ad90b6311d4e348bd44e99a0409606bf5fddc939e5e7981bcf142b8d712dd9c1f92cb406fc062ecb7510b368369f5a02556304e8b
@@ -1,13 +1,13 @@
1
1
  require "acts_as_lockable/version"
2
- require "acts_as_lockable/lock"
3
2
  require "acts_as_lockable/locker"
3
+ require "acts_as_lockable/lockable"
4
4
 
5
5
  class ActiveRecord::Base
6
6
  def self.acts_as_lockable(options={})
7
7
 
8
- has_many :locks, as: :locked
8
+ has_one :locker, as: :locked
9
9
  before_validation :check_locked
10
10
 
11
- include ActsAsLockable::Locker
11
+ include ActsAsLockable::Lockable
12
12
  end
13
13
  end
@@ -0,0 +1,21 @@
1
+ module ActsAsLockable
2
+ module Lockable
3
+ def is_locked?
4
+ !self.locker.nil?
5
+ end
6
+
7
+ def lock
8
+ self.create_locker(locked_type: self.model_name.name) if self.locker.nil?
9
+ return true
10
+ end
11
+
12
+ def unlock
13
+ self.locker.destroy
14
+ end
15
+
16
+ private
17
+ def check_locked
18
+ return false if self.is_locked?
19
+ end
20
+ end
21
+ end
@@ -1,20 +1,5 @@
1
- module ActsAsLockable
2
- module Locker
3
- def is_locked?
4
- self.locks.size > 0
5
- end
1
+ class Locker < ActiveRecord::Base
6
2
 
7
- def lock
8
- self.locks.create
9
- end
3
+ belongs_to :locked, polymorphic: true
10
4
 
11
- def unlock
12
- self.locks.clear
13
- end
14
-
15
- private
16
- def check_locked
17
- return false if self.is_locked?
18
- end
19
- end
20
5
  end
@@ -1,3 +1,3 @@
1
1
  module ActsAsLockable
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.5"
3
3
  end
@@ -1,9 +1,9 @@
1
1
  class ActsAsLockableMigration < ActiveRecord::Migration
2
2
  def change
3
- create_table :locks do |t|
3
+ create_table :lockers do |t|
4
4
  t.integer :locked_id
5
5
  t.string :locked_type
6
6
  end
7
- add_index :locks, :locked_id
7
+ add_index :lockers, :locked_id
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_as_lockable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - GIZIPP
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-10-08 00:00:00.000000000 Z
11
+ date: 2015-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -99,7 +99,7 @@ files:
99
99
  - bin/console
100
100
  - bin/setup
101
101
  - lib/acts_as_lockable.rb
102
- - lib/acts_as_lockable/lock.rb
102
+ - lib/acts_as_lockable/lockable.rb
103
103
  - lib/acts_as_lockable/locker.rb
104
104
  - lib/acts_as_lockable/version.rb
105
105
  - lib/generators/acts_as_lockable/migration/migration_generator.rb
@@ -1,5 +0,0 @@
1
- class Lock < ActiveRecord::Base
2
-
3
- belongs_to :locked, polymorphic: true
4
-
5
- end