aka_time 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/AUTHORS ADDED
@@ -0,0 +1,4 @@
1
+ Arie Kusuma Atmaja <mailto:ariekusumaatmaja@gmail.com>
2
+ - 'ariekeren' on irc
3
+ - Mastermind
4
+ - {http://ariekusumaatmaja.wordpress.com}[http://ariekusumaatmaja.wordpress.com]
data/CHANGES ADDED
@@ -0,0 +1,3 @@
1
+ == Version 1.0.0
2
+
3
+ * Pindahan dari svn sayang ke svn rubyforge.org
@@ -0,0 +1,21 @@
1
+ Copyright (c) 2007 {Arie Kusuma Atmaja}[http://ariekusumaatmaja.wordpress.com]
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
+
data/README ADDED
@@ -0,0 +1,126 @@
1
+ http://www.geocities.com/riyari3/aka_time.jpg
2
+
3
+
4
+
5
+ = AkaTime - {Arie Kusuma Atmaja}[http://ariekusumaatmaja.wordpress.com/] Time
6
+
7
+ Aka, diambil dari Bahasa Jepang, Aka(i), yang artinya "merah". Ya, semerah
8
+ perhiasan batu {ruby}[http://www.ruby-lang.org]. Aka juga bisa diartikan singkatan dari nama
9
+ {ArieKeren}[http://ariekusumaatmaja.wordpress.com/]
10
+ sendiri, yaitu {Arie Kusuma Atmaja}[http://ariekusumaatmaja.wordpress.com/].
11
+
12
+ Jadi, kalau bicara *Aka*, berarti di pola pikir kita akan ingat *Merah*,
13
+ otomatis kita akan ingat *Ruby*, dan kita akan ingat
14
+ {ArieKeren}[http://ariekusumaatmaja.wordpress.com].
15
+
16
+ AkaTime dirilis ke publik karena melihat kebutuhan Republik Ruby Indonesia
17
+ akan bentuk format waktu sesuai selera yang diinginkan dengan cara yang
18
+ khas seperti spesialnya filosofi {Ruby}[http://www.ruby-lang.org], yaitu
19
+ dengan cara yang intuitif, bisa bergerak cepat, produktif, tidak cyptic.
20
+
21
+
22
+ === Cara membangun dokumentasi AkaTime
23
+
24
+ Kita bisa menggunakan tool {rake}[http://rake.rubyforge.org/].
25
+ Caranya masuklah ke direktori aka_time,
26
+ lalu ketik :
27
+
28
+ rake rdoc <ENTER>
29
+
30
+ selanjutnya tinggal membuka file
31
+
32
+ rdoc/index.html
33
+
34
+ lewat browser
35
+
36
+
37
+ === Instalasi
38
+
39
+ Cara menginstal AkaTime sangatlah mudah, AkaTime sudah tersedia berupa gem,
40
+ jadi gunakan perintah ini untuk menginstal:
41
+
42
+ gem install aka_time
43
+
44
+ Supaya download lebih cepat selesai, Anda juga bisa menginstal gem dari
45
+ mirror di Indonesia, ada di IMT. Caranya:
46
+
47
+ gem install aka_time -r -s mirrors.imt.co.id
48
+
49
+ Pada saat {ArieKeren}[http://ariekusumaatmaja.wordpress.com/] menulis AkaTime,
50
+ ada juga usaha untuk membuatkan
51
+ {DVD/CD dg Ruby offline}[http://rubyoffline.wikidot.com/]
52
+ agar Republik Ruby Indonesia bisa menikmati rubygem tanpa diharuskan
53
+ konek ke internet yang dirasa masih sangat sangat mahal bagi kebanyakan
54
+ orang Indonesia. Kita tunggu saja sumbangsih beliau-beliau yang
55
+ berkontribusi di
56
+ {DVD Offline Ruby}[http://rubyoffline.wikidot.com/]
57
+ tersebut :) Karena kalau nanti sudah ada,
58
+ maka Anda juga bisa menginstal AkaTime dengan cara sebagai berikut:
59
+
60
+ masuk ke direktori DVD Ruby offline tersebut
61
+ cd /Volumes/DVD-Ruby-Offline/rubygems
62
+ gem install aka_time -l -s aka_time.gem
63
+
64
+ Anda tidak perlu khawatir karena library AkaTime ini tidak bergantung pada
65
+ library-library rubygem lain sama sekali.
66
+
67
+
68
+ === Petunjuk Pemakaian AkaTime
69
+
70
+ Cara menggunakan AkaTime, juga mudah, yaitu dengan perintah
71
+ *require* seperti contoh dibawah ini:
72
+
73
+ require 'rubygems'
74
+ require 'aka_time'
75
+
76
+
77
+ === SINOPSIS TUTORIAL AkaTime
78
+
79
+ Baca AkaTime::Doc::SYNOPSIS
80
+
81
+
82
+ === Daftar Kontak
83
+
84
+ Project:: http://rubyforge.org/projects/aka/
85
+ Documentation:: http://aka.rubyforge.org/
86
+ Bugs:: http://rubyforge.org/tracker/?group_id=3425
87
+ Email:: mailto:ariekusumaatmaja@gmail.com
88
+ Blog ArieKeren:: http://ariekusumaatmaja.wordpress.com
89
+ Yahoo Messenger:: riyari3
90
+
91
+ Pencipta AkaTime bisa dihubungi lewat email di mailto:ariekusumaatmaja@gmail.com
92
+ Silakan jangan malu-malu kucing untuk melayangkan feedback berupa
93
+ request ingin berteman (FYI {ArieKeren}[http://ariekusumaatmaja.wordpress.com/]
94
+ suka banget punya banyak teman),
95
+ request minta bikinkan library lagi (baik yang open source maupun yang berbayar
96
+ alias bisnis/proyek-proyek gitu),
97
+ request minta bikinkan software (baik yang open source maupun yang berbayar),
98
+ pujian, kritik, saran, hujatan, kebencian ke email
99
+ {ArieKeren}[http://ariekusumaatmaja.wordpress.com/].
100
+ Anda justru malah akan disuguhi terima kasih dari
101
+ {ArieKeren}[http://ariekusumaatmaja.wordpress.com/] karena sudah meluangkan waktu
102
+ untuk perhatian dan memberi feedback untuk AkaTime ;-)
103
+
104
+ Malu Bertanya Sesat ke Google.
105
+
106
+ Bila ingin membantu berupa impruvisasi dokumentasi juga boleh banget, silakan
107
+ saja join jadi Documenter AkaTime dengan tulisan yang gampang dimengerti
108
+ dengan tujuan Rubyist Indonesia memakai library AkaTime ini dengan intuitif
109
+ dan sangat gampang.
110
+
111
+ Perhatian YM {ArieKeren}[http://ariekusumaatmaja.wordpress.com/] *TIDAK* untuk
112
+ layanan konsultasi !!! Yahoo Messenger itu buat (social) ngobrol santai aja
113
+ kalo pas nggak sibuk. Maaf, jadi jangan marah atau tersinggung kalau ada yang
114
+ nanya lewat YM dicuekin. Kalau mau konsultasi, tentang dunia
115
+ {Ruby}[http://www.ruby-lang.org], atau dunia
116
+ {Rails}[http://www.rubyonrails.com], silakan lewat
117
+ {milis Ruby User Group Indonesia}[http://groups.yahoo.com/groups/id-ruby],
118
+ di mailto:id-ruby@yahoogroups.com
119
+ {http://groups.yahoo.com/groups/id-ruby}[http://groups.yahoo.com/groups/id-ruby]
120
+
121
+
122
+ = License
123
+
124
+ AkaTime is available under an MIT-style license.
125
+
126
+ :include: MIT-LICENSE
@@ -0,0 +1,57 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+ require 'rake/testtask'
4
+ require 'rake/rdoctask'
5
+ require 'rake/packagetask'
6
+ require 'rake/gempackagetask'
7
+ require 'rake/contrib/rubyforgepublisher'
8
+ require File.join(File.dirname(__FILE__), 'lib', 'aka_time', 'version')
9
+
10
+ PKG_NAME = 'aka_time'
11
+ PKG_VERSION = AkaTime::VERSION::STRING
12
+ PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
13
+
14
+ RELEASE_NAME = "REL #{PKG_VERSION}"
15
+
16
+ RUBY_FORGE_PROJECT = "aka_time"
17
+ RUBY_FORGE_USER = "ariekusuma"
18
+
19
+ PKG_FILES = FileList[
20
+ "Rakefile", "test/*", "lib/*", "lib/**/*", "resources/*"
21
+ ].exclude("rdoc").to_a
22
+
23
+ # Generate the RDoc documentation
24
+
25
+ Rake::RDocTask.new { |rdoc|
26
+ rdoc.rdoc_dir = 'rdoc'
27
+ rdoc.title = "Aka Time - ArieKeren Time"
28
+ rdoc.options << '--line-numbers' << '--inline-source' << '-A cattr_accessor=object'
29
+ rdoc.rdoc_files.include('README', 'CHANGES', 'AUTHORS', 'MIT-LICENSE', 'TODO')
30
+ rdoc.rdoc_files.include('lib/**/*.rb')
31
+ rdoc.rdoc_files.include('resources/*')
32
+ }
33
+
34
+ # Enhance rdoc task to copy referenced images also
35
+ task :rdoc do
36
+ FileUtils.copy "resources/aka_time.jpg", "rdoc/aka_time.jpg"
37
+ end
38
+
39
+ spec = Gem::Specification.new do |s|
40
+ s.name = PKG_NAME
41
+ s.version = PKG_VERSION
42
+ s.author = 'Arie Kusuma Atmaja'
43
+ s.email = 'ariekusumaatmaja@gmail.com'
44
+ s.homepage = 'http://aka.rubyforge.org'
45
+ s.platform = Gem::Platform::RUBY
46
+ s.summary = 'AkaTime is an intuitive Indonesian Time Format'
47
+ s.files = PKG_FILES
48
+ s.require_path = "lib"
49
+ s.autorequire = "aka_time.rb"
50
+ s.test_file = "test/aka_time_test.rb"
51
+ s.has_rdoc = true
52
+ s.extra_rdoc_files = ["AUTHORS", "CHANGES", "MIT-LICENSE", "README", "TODO"]
53
+ end
54
+ Rake::GemPackageTask.new(spec) do |pkg|
55
+ pkg.need_zip = true
56
+ pkg.need_tar = true
57
+ end
data/TODO ADDED
@@ -0,0 +1,6 @@
1
+ Minggu, 08 April 2007 17:45:33
2
+ ArieKeren masih ragu-ragu apakah perlu membuatkan wrapper Time.day juga dibutuhkan
3
+ metode khusus buat orang Indonesia? karna dari metode tanggal.to_i saja sudah cukup bila ingin
4
+ mengikut budaya Indonesia yang *sangat* verbose :-/ ArieKeren pribadi lebih suka pakai
5
+ Time.day saja untuk menghasilkan keluaran yang instance_of?(Fixnum)
6
+
@@ -0,0 +1,231 @@
1
+ #--
2
+ # Copyright (c) 2007 ArieKeren <ariekusumaatmaja@gmail.com>
3
+ # http://ariekusumaatmaja.wordpress.com
4
+ #
5
+ # $URL: file:///svn/aka_time/trunk/lib/aka_time.rb $
6
+ # $Author: arie $
7
+ # $Date: 2007-04-10 12:53:41 +0700 (Tue, 10 Apr 2007) $
8
+ # $Rev: 24 $
9
+ #++
10
+
11
+ class Time
12
+
13
+ =begin rdoc
14
+ Nama-nama bulan dalam Bahasa Indonesia
15
+ ---
16
+ Months in Indonesian Language
17
+ =end
18
+ BULAN = %w(Januari Februari Maret April Mei Juni
19
+ Juli Agustus September Oktober November Desember
20
+ ).unshift(nil).freeze
21
+
22
+ =begin rdoc
23
+ Nama-nama hari dalam Bahasa Indonesia
24
+ ---
25
+ Days in Indonesian Language
26
+ =end
27
+ HARI = %w(Senin Selasa Rabu Kamis Jumat Sabtu).unshift("Minggu").freeze
28
+
29
+ # second, alias Time.strftime("%S")
30
+ def detik
31
+ self.strftime("%S")
32
+ end
33
+
34
+ # minute, alias Time.strftime("%M")
35
+ def menit
36
+ self.strftime("%M")
37
+ end
38
+
39
+ # hour, alias Time.strftime("%H")
40
+ def jam
41
+ self.strftime("%H")
42
+ end
43
+
44
+ =begin rdoc
45
+ tahun bila ditulis komplit (tidak disingkat) maka keluaran tahun
46
+ berupa 4 digit (termasuk abad). Misalkan: 1993. Berarti tahun 1993.
47
+ alias dari Time.strftime("%Y")
48
+ ---
49
+ If you write tahun completely it returns year with century.
50
+ Ex: 1993. Means Year 1993. Alias from Time.strftime("%Y")
51
+ =end
52
+ def tahun
53
+ self.strftime("%Y")
54
+ end
55
+
56
+ =begin rdoc
57
+ tahun bila ditulis dengan singkat maka keluaran thn berupa
58
+ 2 digit (tidak termasuk abad). Misalkan: 93. Berarti tahun 1993.
59
+ alias dari Time.strftime("%y")
60
+ ---
61
+ If you write thn as an abbreviation of tahun, it returns year without
62
+ century. Ex. 93. Means Year 1993. Alias from Time.strftime("%Y")
63
+ =end
64
+ def thn
65
+ self.strftime("%y")
66
+ end
67
+
68
+ =begin rdoc
69
+ bulan bila ditulis komplit (tidak disingkat) maka keluaran
70
+ bulan juga berupa nama bulan yang komplit / tidak disingkat yang diambil
71
+ dari konstanta array BULAN. Misalkan: *Januari*. Berarti bulan Januari.
72
+ ---
73
+ If you write bulan completely, it returns name of the month in Bahasa
74
+ Indonesia. Ex: *Januari*, means January.
75
+ =end
76
+ def bulan
77
+ BULAN[self.strftime("%m").to_i]
78
+ end
79
+
80
+ =begin rdoc
81
+ bulan bila ditulis dengan singkat, yakni bln, maka keluaran
82
+ bln juga berupa nama bulan yang disingkat, yaitu hanya 3 huruf pertama saja
83
+ dari bulan. Misalkan: *Jan*. Berarti bulan Januari.
84
+ ---
85
+ If you write bln as an abbreviation of bulan, it returns the first 3 characters
86
+ of name of the month in Bahasa Indonesia. Ex: *Jan*, means January.
87
+ =end
88
+ def bln
89
+ bulan.split(//)[0..2].join
90
+ end
91
+
92
+ =begin rdoc
93
+ alias dari Time.strftime("%d"). Misalkan: 18. Berarti tanggal 18.
94
+ ---
95
+ alias from Time.strftime("%d"). Ex: 18, means date 18.
96
+ =end
97
+ def tanggal
98
+ self.strftime("%d")
99
+ end
100
+ alias :tgl :tanggal
101
+
102
+ =begin rdoc
103
+ alias dari Time.strftime("%w") Indonesia, yang diambil dari konstanta array
104
+ HARI, misalkan *Senin*, berarti hari Senin
105
+ ---
106
+ alias from Time.strftime("%w") Indonesia, got from HARI constant,
107
+ ex: *Senin*, means Monday
108
+ =end
109
+ def hari
110
+ HARI[self.strftime("%w").to_i]
111
+ end
112
+
113
+ =begin rdoc
114
+ hari bila ditulis dengan singkat, maka keluaran hanya berupa 3 huruf pertama
115
+ saja dari konstanta array HARI. Misalkan *Sen*, berarti hari Senin
116
+ ---
117
+ If you write hr as an abbreviation of hari, it returns the first 3 characters
118
+ of the name of the day. Ex: *Sen*, means Monday, alias of Time.strftime("%a")
119
+ but in Bahasa Indonesia.
120
+ =end
121
+ def hr
122
+ hari.split(//)[0..2].join
123
+ end
124
+
125
+ =begin rdoc
126
+ HH:MM:SS, misalkan saja: 12:20:30. Berarti Jam 12, Menit 20, Detik 30.
127
+ Penggunaan metode jam_menit_detik ini mungkin terasa sangat verbose, tetapi
128
+ sangat intuitif untuk orang Indonesia.
129
+ ---
130
+ alias of Time.strftime("%X")
131
+ =end
132
+ def jam_menit_detik
133
+ self.strftime("%X")
134
+ end
135
+
136
+ =begin rdoc
137
+ Tanggal Bulan Tahun, misalkan: 18 Desember 1981.
138
+ ---
139
+ Date Month Year, ex: 18 Desember 1981, it means 18 December 1981.
140
+ =end
141
+ def tanggal_bulan_tahun
142
+ [tanggal, bulan, tahun].join(' ')
143
+ end
144
+ alias :tgl_bulan_tahun :tanggal_bulan_tahun
145
+
146
+ =begin rdoc
147
+ Tanggal Bln Tahun, misalkan: 18 Des 1981. Bulan saja yang disingkat.
148
+ ---
149
+ Date Month Year, ex: 18 Des 1981, it means 18 Dec 1981. Month is the only
150
+ one being abbreviated.
151
+ =end
152
+ def tanggal_bln_tahun
153
+ [tanggal, bln, tahun].join(' ')
154
+ end
155
+ alias :tgl_bln_tahun :tanggal_bln_tahun
156
+
157
+ =begin rdoc
158
+ Tanggal Bln Thn, misalkan: 18 Des 81. Bisa kita perhatikan dan ini sebetulnya
159
+ intuitif saja, tahun juga disingkat, selain bulan juga disingkat. Makanya
160
+ thn keluarannya 2 digit dan bln keluaran 3 huruf pertama dari bulan
161
+ ---
162
+ Date Month Year, ex: 18 Des 81, it means 18 Dec 81. Month and Year are being
163
+ abbreviated both.
164
+ =end
165
+ def tanggal_bln_thn
166
+ [tanggal, bln, thn].join(' ')
167
+ end
168
+ alias :tgl_bln_thn :tanggal_bln_thn
169
+
170
+ =begin rdoc
171
+ Tanggal Bulan Thn, misalkan: 18 Desember 81. Tahun saja yang disingkat.
172
+ ---
173
+ Date Month Year, ex: 18 Desember 81. Year is the only one being abbreviated.
174
+ =end
175
+ def tanggal_bulan_thn
176
+ [tanggal, bulan, thn].join(' ')
177
+ end
178
+ alias :tgl_bulan_thn :tanggal_bulan_thn
179
+
180
+ =begin rdoc
181
+ metode indo inilah yang paling sering dipakai, jadi tidak perlu lagi bila ada
182
+ objek Time menyebutkannya dengan cara "cryptic" seperti :
183
+ Time.now.strftime("%A, %d %B %Y %X")
184
+ ataupun begini (contoh bila pemakaian dikombinasikan dengan ORM
185
+ {ActiveRecord}[http://rubyforge.org/projects/activerecord])
186
+ @objek_tabel.created_at.strftime("%A, %d %B %Y %X")
187
+ yang hasilnya adalah dalam bahasa Inggris, lalu diterjemahkan lagi ke
188
+ bahasa Indonesia, karena sekarang cukup dengan ini saja :
189
+ Time.now.indo
190
+ ataupun
191
+ @objek_tabel.created_at.indo
192
+ Cara normal yang verbose atau standar untuk mengungkapkan waktu secara lengkap
193
+ menggunakan metode tanggalan_waktu, misalkan: Minggu, 08 April 2007 17:45:33.
194
+ Cara yang sangat intuitif di lapangan lihat alias dari metode ini,
195
+ yaitu tanggalan_waktu
196
+ ---
197
+ This indo method is very often used, so we don't have to "verbosely" say Time
198
+ object in "a cryptic way" like this:
199
+ Time.now.strftime("%A, %d %B %Y %X")
200
+ or like this (combined with
201
+ {ActiveRecord}[http://rubyforge.org/projects/activerecord]
202
+ ORM)
203
+ @object.created_at.strftime("%A, %d %B %Y %X")
204
+ which return a well formatted Time in English, then we have to translate it
205
+ again in Bahasa Indonesia. Now you can simply use this:
206
+ Time.now.indo
207
+ or
208
+ @object.created_at.indo
209
+ A verbose way to express a complete day, look at its alias method
210
+ tanggalan_waktu, date month year including HH:MM:SS.
211
+ =end
212
+ def indo
213
+ ["#{hari},", tanggal_bulan_tahun, jam_menit_detik].join(' ')
214
+ end
215
+ alias :tanggalan_waktu :indo
216
+ alias :id :indo
217
+ alias :indonesia :indo
218
+
219
+ =begin rdoc
220
+ metode ini menampilkan tgl/bln/thn, atau kebalikan dari versi
221
+ Time.strftime("%x") yang aslinya berformat Bahasa Inggris yaitu bln/tgl/thn.
222
+ Keluaran misalkan: 12/4/82. Berarti tanggal 12, bulan 4, tahun 1982.
223
+ ---
224
+ this x method returns tgl/bln/thn, or the reverse version of the English
225
+ format Time.strftime("%x"). Ex: 12/4/82. It means date 12, month 4, year 1981.
226
+ =end
227
+ def x
228
+ self.strftime("%x").gsub!(/^(\d{2})\/(\d{2})\/(\d{2})$/, '\2/\1/\3')
229
+ end
230
+
231
+ end
@@ -0,0 +1,107 @@
1
+ # :title: AkaTime
2
+
3
+ module AkaTime
4
+ module Doc #:doc:
5
+ =begin rdoc
6
+
7
+ == SINOPSIS TUTORIAL AkaTime
8
+
9
+ sayang:~ arie$ irb
10
+ Arigatou jyanai! Pizza wa (2) ni-mai, OK!
11
+ Tak perlu kau ucap terima kasih! Pizza 2 boleh juga, OK!
12
+ irb(main):001:0> require 'rubygems'
13
+ => true
14
+ irb(main):002:0> require 'aka_time'
15
+ => true
16
+ irb(main):004:0> waktu = Time.mktime(2007, 4, 8, 14, 8, 45)
17
+ => Sun Apr 08 14:08:45 +0700 2007
18
+ irb(main):005:0> waktu.indo
19
+ => "Minggu, 08 April 2007 14:08:45"
20
+ irb(main):006:0> waktu.hari
21
+ => "Minggu"
22
+ irb(main):007:0> waktu.tanggal
23
+ => "08"
24
+ irb(main):008:0> waktu.bulan
25
+ => "April"
26
+ irb(main):009:0> waktu.bln
27
+ => "Apr"
28
+ irb(main):010:0> waktu.tahun
29
+ => "2007"
30
+ irb(main):011:0> waktu.thn
31
+ => "07"
32
+ irb(main):012:0> waktu.hari
33
+ => "Minggu"
34
+ irb(main):013:0> waktu.hr
35
+ => "Min"
36
+ irb(main):014:0>
37
+
38
+ Cara pemakaian di {Rails}[http://www.rubyonrails.com] juga sangat sederhana,
39
+ misalkan kita punya Model artikel.rb, yang mana
40
+ kelas Artikel punya field-field sebagai berikut:
41
+
42
+ * id
43
+ * judul
44
+ * isi
45
+ * created_at
46
+
47
+ Nah, maka tatkala melakukan query select atau yang biasa dilakukan oleh Railers dengan
48
+ menggunakan ActiveRecord find.
49
+
50
+ Jadi, misalkan, caranya begini:
51
+
52
+ kita juga punya controller, namanya demo_controller.rb, dalam file demo_controller.rb,
53
+ kita punya metode show, sebagai berikut:
54
+
55
+ def show
56
+ @artikel = Artikel.find(params[:id])
57
+ rescue ActiveRecord::RecordNotFound => e
58
+ redirect_to_index("Artikel tidak ditemukan #{e.message}")
59
+ end
60
+
61
+ di template view nya, kita tinggal menambahkan sebagai berikut:
62
+
63
+ <p>
64
+ Judul: <h1><%= h @artikel.judul %></h1>
65
+ </p>
66
+ <p>
67
+ Isi: <%= h @artikel.isi %>
68
+ </p>
69
+ <p>
70
+ Dibuat kapan?: <%= @artikel.created_at.indo %>
71
+ </p>
72
+
73
+ == PUISI / LAGU AkaTime
74
+
75
+ AkaTaaaaim...
76
+ Ada Aka, Ada Merah...
77
+ Kalau Merah, berarti Ruby...
78
+
79
+ AkaTaaaaim...
80
+ Inget Aka, Inget ArieKeren...
81
+ Kalau Aka, berarti Arie...
82
+
83
+ Silaaau...
84
+ Ada Merah, Ada Aka, Ada ArieKeren...
85
+ Hey! Indonesia Merah!
86
+ Merah Indonesia Lambang Berani...
87
+ Merah Ruby Indonesia Lambang Elegan...
88
+
89
+ ---
90
+
91
+ ya, dipersilakan buat yang biasa main gitar, main piano/organ, main angklung,
92
+ kalau ada yang mau menyanyikan dan merekam untuk disebar-sebarkan, dipersilakan
93
+ dengan senang hati :-) AkaTime ...
94
+ Waktunya {Aka}[http://rubyforge.org/projects/aka/] ...
95
+
96
+ = AkaTime - {Arie Kusuma Atmaja}[http://ariekusumaatmaja.wordpress.com/] Time
97
+
98
+
99
+
100
+
101
+ http://www.geocities.com/riyari3/aka_time.jpg
102
+
103
+ =end
104
+ module SYNOPSIS #:doc:
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,9 @@
1
+ module AkaTime
2
+ module VERSION #:nodoc:
3
+ MAJOR = 1
4
+ MINOR = 0
5
+ TINY = 0
6
+
7
+ STRING = [MAJOR, MINOR, TINY].join('.')
8
+ end
9
+ end
Binary file
@@ -0,0 +1,166 @@
1
+ #--
2
+ # Copyright (c) 2007 ArieKeren <ariekusumaatmaja@gmail.com>
3
+ # http://ariekusumaatmaja.wordpress.com
4
+ #
5
+ # $URL: file:///svn/aka_time/trunk/test/aka_time_test.rb $
6
+ # $Author: arie $
7
+ # $Date: 2007-04-10 12:53:41 +0700 (Tue, 10 Apr 2007) $
8
+ # $Rev: 24 $
9
+ #++
10
+
11
+ require 'test/unit'
12
+ require '../lib/aka_time'
13
+
14
+ class AkaTimeTest < Test::Unit::TestCase
15
+
16
+ def setup
17
+ @time = Time.mktime(1981, 5, 18, 22, 15, 30)
18
+ @time2 = Time.mktime(1981, 12, 18, 2, 43, 51)
19
+ end
20
+
21
+ # Time.strftime("%S") Indonesia
22
+ def test_detik
23
+ assert_equal('30', @time.detik)
24
+ assert_equal('51', @time2.detik)
25
+ end
26
+
27
+ # Time.strftime("%M") Indonesia
28
+ def test_menit
29
+ assert_equal('15', @time.menit)
30
+ assert_equal('43', @time2.menit)
31
+ end
32
+
33
+ # Time.strftime("%H") Indonesia
34
+ def test_jam
35
+ assert_equal('22', @time.jam)
36
+ assert_equal('02', @time2.jam)
37
+ end
38
+
39
+ # Time.strftime("%Y") Indonesia, alias year, 4 digit
40
+ def test_tahun
41
+ assert_equal('1981', @time.tahun)
42
+ assert_equal('1981', @time2.tahun)
43
+ end
44
+
45
+ # Time.strftime("%y") Indonesia, 2 digit / tidak pakai abad / ribuan.
46
+ def test_thn
47
+ assert_equal('81', @time.thn)
48
+ assert_equal('81', @time2.thn)
49
+ end
50
+
51
+ # Time.strftime("%B") Indonesia
52
+ def test_bulan
53
+ assert_equal('Mei', @time.bulan)
54
+ assert_equal('Desember', @time2.bulan)
55
+ end
56
+
57
+ # Time.strftime("%b") Indonesia
58
+ def test_bln
59
+ assert_equal('Mei', @time.bln)
60
+ assert_equal('Des', @time2.bln)
61
+ end
62
+
63
+ # Time.strftime("%d") Indonesia
64
+ def test_tanggal
65
+ assert_equal('18', @time.tanggal)
66
+ end
67
+
68
+ # alias tanggal
69
+ def test_tgl
70
+ assert_equal('18', @time.tgl)
71
+ end
72
+
73
+ # wday Indonesia
74
+ def test_hari
75
+ assert_equal('Senin', @time.hari)
76
+ assert_equal('Jumat', @time2.hari)
77
+ end
78
+
79
+ def test_hr
80
+ assert_equal('Sen', @time.hr)
81
+ assert_equal('Jum', @time2.hr)
82
+ end
83
+
84
+ # Time.strftime("%X")
85
+ def test_jam_menit_detik
86
+ assert_equal(@time.strftime("%X"), @time.jam_menit_detik)
87
+ assert_equal('22,15,30'.gsub(/,/, ':'), @time.jam_menit_detik)
88
+ end
89
+
90
+ def test_tanggal_bulan_tahun
91
+ assert_equal('18 Mei 1981', @time.tanggal_bulan_tahun)
92
+ assert_equal('18 Desember 1981', @time2.tanggal_bulan_tahun)
93
+ end
94
+
95
+ # alias tanggal_bulan_tahun
96
+ def test_tgl_bulan_tahun
97
+ assert_equal('18 Mei 1981', @time.tgl_bulan_tahun)
98
+ assert_equal('18 Desember 1981', @time2.tgl_bulan_tahun)
99
+ end
100
+
101
+ def test_tanggal_bln_tahun
102
+ assert_equal('18 Mei 1981', @time.tanggal_bln_tahun)
103
+ assert_equal('18 Des 1981', @time2.tanggal_bln_tahun)
104
+ end
105
+
106
+ # alias tanggal_bln_tahun
107
+ def test_tgl_bln_tahun
108
+ assert_equal('18 Mei 1981', @time.tgl_bln_tahun)
109
+ assert_equal('18 Des 1981', @time2.tgl_bln_tahun)
110
+ end
111
+
112
+ def test_tanggal_bulan_thn
113
+ assert_equal('18 Mei 81', @time.tanggal_bulan_thn)
114
+ assert_equal('18 Desember 81', @time2.tanggal_bulan_thn)
115
+ end
116
+
117
+ # alias tanggal_bulan_thn
118
+ def test_tgl_bulan_thn
119
+ assert_equal('18 Mei 81', @time.tgl_bulan_thn)
120
+ assert_equal('18 Desember 81', @time2.tgl_bulan_thn)
121
+ end
122
+
123
+ def test_tanggal_bln_thn
124
+ assert_equal('18 Mei 81', @time.tanggal_bln_thn)
125
+ assert_equal('18 Des 81', @time2.tanggal_bln_thn)
126
+ end
127
+
128
+ # alias tanggal_bln_thn
129
+ def test_tgl_bln_thn
130
+ assert_equal('18 Mei 81', @time.tgl_bln_thn)
131
+ assert_equal('18 Des 81', @time2.tgl_bln_thn)
132
+ end
133
+
134
+ def test_indo
135
+ assert_equal('Senin, 18 Mei 1981 22:15:30', @time.indo)
136
+ assert_equal("Jumat, 18 Desember 1981 02:43:51", @time2.indo)
137
+ end
138
+
139
+ # alias indo
140
+ def test_tanggalan_waktu
141
+ assert_equal('Senin, 18 Mei 1981 22:15:30', @time.tanggalan_waktu)
142
+ assert_equal("Jumat, 18 Desember 1981 02:43:51", @time2.tanggalan_waktu)
143
+ end
144
+
145
+ # alias indo
146
+ def test_indonesia
147
+ assert_equal('Senin, 18 Mei 1981 22:15:30', @time.indonesia)
148
+ assert_equal("Jumat, 18 Desember 1981 02:43:51", @time2.indonesia)
149
+ end
150
+
151
+ # alias indo
152
+ def test_id
153
+ assert_equal('Senin, 18 Mei 1981 22:15:30', @time.id)
154
+ assert_equal("Jumat, 18 Desember 1981 02:43:51", @time2.id)
155
+ end
156
+
157
+ # %x Indonesia
158
+ def test_x
159
+ assert_equal('18/05/81', @time.x)
160
+ assert_equal('18/12/81', @time2.x)
161
+ # versi %x asli
162
+ assert_equal('05/18/81', @time.strftime("%x"))
163
+ assert_equal('12/18/81', @time2.strftime("%x"))
164
+ end
165
+
166
+ end
metadata ADDED
@@ -0,0 +1,62 @@
1
+ --- !ruby/object:Gem::Specification
2
+ rubygems_version: 0.9.0
3
+ specification_version: 1
4
+ name: aka_time
5
+ version: !ruby/object:Gem::Version
6
+ version: 1.0.0
7
+ date: 2007-04-10 00:00:00 +07:00
8
+ summary: AkaTime is an intuitive Indonesian Time Format
9
+ require_paths:
10
+ - lib
11
+ email: ariekusumaatmaja@gmail.com
12
+ homepage: http://aka.rubyforge.org
13
+ rubyforge_project:
14
+ description:
15
+ autorequire: aka_time.rb
16
+ default_executable:
17
+ bindir: bin
18
+ has_rdoc: true
19
+ required_ruby_version: !ruby/object:Gem::Version::Requirement
20
+ requirements:
21
+ - - ">"
22
+ - !ruby/object:Gem::Version
23
+ version: 0.0.0
24
+ version:
25
+ platform: ruby
26
+ signing_key:
27
+ cert_chain:
28
+ post_install_message:
29
+ authors:
30
+ - Arie Kusuma Atmaja
31
+ files:
32
+ - Rakefile
33
+ - test/aka_time_test.rb
34
+ - lib/aka_time
35
+ - lib/aka_time.rb
36
+ - lib/aka_time/doc
37
+ - lib/aka_time/doc/SYNOPSIS.rb
38
+ - lib/aka_time/version.rb
39
+ - resources/aka_time.jpg
40
+ - AUTHORS
41
+ - CHANGES
42
+ - MIT-LICENSE
43
+ - README
44
+ - TODO
45
+ test_files:
46
+ - test/aka_time_test.rb
47
+ rdoc_options: []
48
+
49
+ extra_rdoc_files:
50
+ - AUTHORS
51
+ - CHANGES
52
+ - MIT-LICENSE
53
+ - README
54
+ - TODO
55
+ executables: []
56
+
57
+ extensions: []
58
+
59
+ requirements: []
60
+
61
+ dependencies: []
62
+