flex_date_rails 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/flex_date_rails.rb +28 -0
  3. metadata +57 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: de7f3378112d170a965156d57620e0ccc4bacc01
4
+ data.tar.gz: 86d572ce92a69651201f71d825f596c093136887
5
+ SHA512:
6
+ metadata.gz: b4f779ac5876eb959bda73ceae7c8954867f8814fd58eab10c60ebbcfa5c14eea42141c94fea42c3632a41988a3f289ee6508ae8a67bd9f6c9d7698d51788516
7
+ data.tar.gz: fddcb7c8c40e9a1fbd6246f743188fa29c67378d21a9f161a6af3cdc76aba51e36732d7c20ed66f1476083649486899b0017e691044ba4929bef7951316b8a57
@@ -0,0 +1,28 @@
1
+ require 'flex_date'
2
+
3
+ ##
4
+ # Integration of FlexDate with ActiveRecord.
5
+ #
6
+ # Original code written by Alex Reisner
7
+ # http://www.alexreisner.com/code/ruby/flex_date
8
+ # Copyright (c) 2008 Alex Reisner (alex@alexreisner.com), released under the MIT license.
9
+ ##
10
+ module MultipartDate
11
+ extend ActiveSupport::Concern
12
+ module ClassMethods
13
+ def multipart_date(*attrs)
14
+ attrs.map{ |a| a.to_s }.each do |attr|
15
+ define_method attr do
16
+ y, m, d = %w(y m d).map{ |i| read_attribute(attr + "_" + i) }
17
+ FlexDate.new(y, m, d)
18
+ end
19
+ define_method(attr + '?') do
20
+ %w(y m d).map{ |i| read_attribute(attr + "_" + i) }.compact.size > 0
21
+ end
22
+ # TODO: define setter (takes date string?)?
23
+ end
24
+ end
25
+ end
26
+ end
27
+
28
+ ActiveRecord::Base.send(:include, MultipartDate)
metadata ADDED
@@ -0,0 +1,57 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: flex_date_rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ platform: ruby
6
+ authors:
7
+ - Sean Gregory,,,
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-06-19 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: flex_date
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.1.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.1.0
27
+ description:
28
+ email: seangregory@gmail.com
29
+ executables: []
30
+ extensions: []
31
+ extra_rdoc_files: []
32
+ files:
33
+ - lib/flex_date_rails.rb
34
+ homepage: https://github.com/skinnyjames/flex_date_rails
35
+ licenses: []
36
+ metadata: {}
37
+ post_install_message:
38
+ rdoc_options: []
39
+ require_paths:
40
+ - lib
41
+ required_ruby_version: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ required_rubygems_version: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: '0'
51
+ requirements: []
52
+ rubyforge_project:
53
+ rubygems_version: 2.5.2
54
+ signing_key:
55
+ specification_version: 4
56
+ summary: Flex Date integration for rails
57
+ test_files: []