rails_pdate 0.0.2 → 0.0.3

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.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MzhhOGEwMzEyYmMxZTE4YmM3ODY3YzY1NzZlNjI5ZGFmZmYyMzZiYQ==
5
- data.tar.gz: !binary |-
6
- ZWY4YTFkZmNlOThmYTM4NDllMzcwNWJjNjY1OTE4MDU3YzgxNzlhNg==
2
+ SHA1:
3
+ metadata.gz: 90947e0fa28720b304d9047a786df4a75fb44ffb
4
+ data.tar.gz: dfb2c7548876c67646bc4e2351d82eb6c32ee7f0
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- MDUzOTk0YTNjMjhjZjRkZGRhMGFmZjE0M2FiZWUzZTBlYWU3ODYyYmU3ZDg0
10
- NmJlYjQwOGIzOTU4ZWI0ZDM5YzJkNjg3YmNjNDFiZjc5ZmY4OWZjNGE1ODBk
11
- NjhjMTE0OTNiMzBlMGI1YzEzMGUzYjBiNGQ3MzQxMThhYmNlNTM=
12
- data.tar.gz: !binary |-
13
- MTQ5MzMzMmI5MzRlYjlhYmRkY2Y5ZWQ3NjYyYzVmMWQzNDQ4YzE2YjM5OWI5
14
- MzEyYWZkNGQzZmUyMWFjMWVmYTE4MTRlNzA2MjQxYzI5ZmVjOGQ2MTI1N2U2
15
- ZTQ2ZDg2YjYxYWQ3ZDEwZDQyMWM4ZWFiMTIwODU0YWU2MGM2YWE=
6
+ metadata.gz: 6064cd98d1efb075abe8645a5d9b46fc9e5437380d56a56690bc0cc65429db7b3259cabc3e6aff521400c36822aa366bb3cc47363ad250580eb8876650e8a0bc
7
+ data.tar.gz: 059afac43cc89cea3c126f9a3495060d4e8b611d95cfbd3795226bcfee783444d12a7e6772468062b8e55e307fe2be6c2d2c77cf4bc7dff9315efd19f7d1f6c8
data/README.rdoc CHANGED
@@ -1,3 +1,54 @@
1
1
  = RailsPdate
2
2
 
3
- This project rocks and uses MIT-LICENSE.
3
+ rails_pdate is very simple and easy gem library that can used in rails application.
4
+
5
+ rails_pdate gem has written in rails 4.0.0 but maybe work in previous versions of rails
6
+
7
+ == install
8
+ * put rails_pdate in Gemfile like this
9
+
10
+ gem 'rails_pdate'
11
+
12
+ * run bunle install
13
+
14
+ bundle install
15
+
16
+
17
+ == Examples
18
+
19
+ * parse string to PDate object
20
+
21
+
22
+
23
+ "1368-11-09".to_pdate # => 1368-11-09
24
+
25
+ "1368/11/09".to_pdate # => 1368-11-09
26
+
27
+ "1368/11/09".to_pdate.class # => PDate
28
+
29
+
30
+ * convert Date object to PDate object ( Convert from gregorian to persian )
31
+
32
+ Date.today.to_pdate # => 1392-09-23
33
+
34
+ Date.new(1990, 1, 29).to_pdate # => 1368-11-09
35
+
36
+ * convert PDate object to Date object ( convert from persian to gregorian )
37
+
38
+ PDate.new(1367, 8, 29).to_date # => Sun, 20 Nov 1988
39
+ PDate.new(1367, 8, 29).to_date.class # => Date
40
+
41
+
42
+ * convert PDate object to formatted string
43
+
44
+ PDate.new(1368, 11, 9).strftime("%Y %m %d") # => "1368 11 09"
45
+ # '%Y' => year
46
+ # '%m' => zero padding two digit month
47
+ # '%d' => zero padding two digit day
48
+ # '%C' => year / 100
49
+ # '%y' => year % 100
50
+ # '%B' => persian month name in finglish
51
+ # '%b' => persian month name
52
+ # '%e' => day
53
+
54
+
data/lib/core_string.rb CHANGED
@@ -1,7 +1,17 @@
1
1
  String.class_eval do
2
2
  def to_pdate
3
3
 
4
- date = Date._parse(self)
5
- return PDate.new(date[:year], date[:mon], date[:mday])
4
+ if result = self.match(/(\d{2,4})(\/|-)(\d{1,2})(\/|-)(\d{1,2})/)
5
+
6
+ year, sp, week, sp, day = result.captures
7
+
8
+ if year.to_i < 100
9
+ year = 1300 + year.to_i
10
+ end
11
+
12
+ return PDate.new(year.to_i, week.to_i, day.to_i)
13
+ else
14
+ return nil
15
+ end
6
16
  end
7
- end
17
+ end
@@ -1,3 +1,3 @@
1
1
  module RailsPdate
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end