aka_time 1.0.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.
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
+