1
0
Fork 0
mirror of https://github.com/aasm/aasm synced 2023-03-27 23:22:41 -04:00
aasm/aasm.gemspec
Reid Morrison a8a8f10d16 Make aasm thread-safe. (#442)
Ever since AASM supported multiple named state machines in a single
class, it has accessed and stored its state machines in class variables.
However accesses to the state machines are not thread-safe causing
exceptions when multiple threads attempt to access the same state
machine at the same time during lazy initialization.
Using a Concurrent Map makes calls to state machines, and lazy
initialization thread safe.
2017-03-16 12:58:15 +05:30

35 lines
1.2 KiB
Ruby

# -*- encoding: utf-8 -*-
$:.push File.expand_path("../lib", __FILE__)
require "aasm/version"
Gem::Specification.new do |s|
s.name = "aasm"
s.version = AASM::VERSION
s.authors = ["Thorsten Boettger", "Anil Maurya"]
s.email = %q{aasm@mt7.de, anilmaurya8dec@gmail.com}
s.homepage = %q{https://github.com/aasm/aasm}
s.summary = %q{State machine mixin for Ruby objects}
s.description = %q{AASM is a continuation of the acts-as-state-machine rails plugin, built for plain Ruby objects.}
s.date = Time.now
s.licenses = ["MIT"]
s.platform = Gem::Platform::RUBY
s.required_ruby_version = '>= 1.9.3'
s.add_dependency 'concurrent-ruby', '~> 1.0'
s.add_development_dependency 'rake'
s.add_development_dependency 'sdoc'
s.add_development_dependency 'rspec', ">= 3"
s.add_development_dependency 'generator_spec'
s.add_development_dependency 'appraisal'
# debugging
# s.add_development_dependency 'debugger'
s.add_development_dependency 'pry'
s.files = `git ls-files`.split("\n")
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
s.require_paths = ["lib"]
end