flex_date_rails 0.2.0

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.
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: []