rails_pdate 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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