bahtera 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/.rvmrc ADDED
@@ -0,0 +1,48 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # This is an RVM Project .rvmrc file, used to automatically load the ruby
4
+ # development environment upon cd'ing into the directory
5
+
6
+ # First we specify our desired <ruby>[@<gemset>], the @gemset name is optional,
7
+ # Only full ruby name is supported here, for short names use:
8
+ # echo "rvm use 1.9.3" > .rvmrc
9
+ environment_id="ruby-1.9.3-p392@bahtera"
10
+
11
+ # Uncomment the following lines if you want to verify rvm version per project
12
+ # rvmrc_rvm_version="1.18.15 (stable)" # 1.10.1 seams as a safe start
13
+ # eval "$(echo ${rvm_version}.${rvmrc_rvm_version} | awk -F. '{print "[[ "$1*65536+$2*256+$3" -ge "$4*65536+$5*256+$6" ]]"}' )" || {
14
+ # echo "This .rvmrc file requires at least RVM ${rvmrc_rvm_version}, aborting loading."
15
+ # return 1
16
+ # }
17
+
18
+ # First we attempt to load the desired environment directly from the environment
19
+ # file. This is very fast and efficient compared to running through the entire
20
+ # CLI and selector. If you want feedback on which environment was used then
21
+ # insert the word 'use' after --create as this triggers verbose mode.
22
+ if [[ -d "${rvm_path:-$HOME/.rvm}/environments"
23
+ && -s "${rvm_path:-$HOME/.rvm}/environments/$environment_id" ]]
24
+ then
25
+ \. "${rvm_path:-$HOME/.rvm}/environments/$environment_id"
26
+ [[ -s "${rvm_path:-$HOME/.rvm}/hooks/after_use" ]] &&
27
+ \. "${rvm_path:-$HOME/.rvm}/hooks/after_use" || true
28
+ else
29
+ # If the environment file has not yet been created, use the RVM CLI to select.
30
+ rvm --create "$environment_id" || {
31
+ echo "Failed to create RVM environment '${environment_id}'."
32
+ return 1
33
+ }
34
+ fi
35
+
36
+ # If you use bundler, this might be useful to you:
37
+ # if [[ -s Gemfile ]] && {
38
+ # ! builtin command -v bundle >/dev/null ||
39
+ # builtin command -v bundle | GREP_OPTIONS= \grep $rvm_path/bin/bundle >/dev/null
40
+ # }
41
+ # then
42
+ # printf "%b" "The rubygem 'bundler' is not installed. Installing it now.\n"
43
+ # gem install bundler
44
+ # fi
45
+ # if [[ -s Gemfile ]] && builtin command -v bundle >/dev/null
46
+ # then
47
+ # bundle install | GREP_OPTIONS= \grep -vE '^Using|Your bundle is complete'
48
+ # fi
data/Gemfile ADDED
@@ -0,0 +1,18 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in bahtera.gemspec
4
+ gemspec
5
+
6
+
7
+ # To use in development
8
+ group :development do
9
+ gem 'guard'
10
+ gem 'guard-rspec'
11
+ gem 'pry', require: true
12
+ gem 'pry-debugger'
13
+
14
+ if RbConfig::CONFIG['host_os'] =~ /darwin/
15
+ gem 'growl'
16
+ gem 'rb-fsevent', require: false
17
+ end
18
+ end
data/Guardfile ADDED
@@ -0,0 +1,6 @@
1
+ guard 'rspec' do
2
+ watch(%r{^spec/.+_spec\.rb$})
3
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
4
+ watch('spec/spec_helper.rb') { "spec" }
5
+ end
6
+
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 Adinda Praditya
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,29 @@
1
+ # Bahtera
2
+
3
+ TODO: Write a gem description
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'bahtera'
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install bahtera
18
+
19
+ ## Usage
20
+
21
+ TODO: Write usage instructions here
22
+
23
+ ## Contributing
24
+
25
+ 1. Fork it
26
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
27
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
28
+ 4. Push to the branch (`git push origin my-new-feature`)
29
+ 5. Create new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,8 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new
5
+
6
+ task :default => :spec
7
+ task :test => :spec
8
+
data/bahtera.gemspec ADDED
@@ -0,0 +1,26 @@
1
+ # -*- encoding: utf-8 -*-
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'bahtera/version'
5
+
6
+ Gem::Specification.new do |gem|
7
+ gem.name = "bahtera"
8
+ gem.version = Bahtera::VERSION
9
+ gem.authors = ["Adinda Praditya"]
10
+ gem.email = ["apraditya@gmail.com"]
11
+ gem.description = %q{The unofficial Ruby library for accessing Kateglo Bahtera API, an online dictionary, thesaurus and glossarium for bahasa Indonesia}
12
+ gem.summary = %q{Kateglo Bahtera Ruby gem}
13
+ gem.homepage = "https://github.com/apraditya/bahtera"
14
+
15
+ gem.files = `git ls-files`.split($/)
16
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
+ gem.test_files = gem.files.grep(%r{^(test|spec)/})
18
+ gem.require_paths = ["lib"]
19
+
20
+ gem.add_development_dependency 'rake'
21
+ gem.add_development_dependency 'rspec'
22
+
23
+ gem.add_runtime_dependency 'addressable'
24
+ gem.add_runtime_dependency 'multi_json'
25
+
26
+ end
data/lib/bahtera.rb ADDED
@@ -0,0 +1,56 @@
1
+ require 'bahtera/version'
2
+ require 'bahtera/kata'
3
+ require 'net/http'
4
+ require 'addressable/uri'
5
+ require 'multi_json'
6
+
7
+ module Bahtera
8
+ class RequestError < StandardError; end
9
+
10
+ class << self
11
+ BASE_URL = "http://kateglo.bahtera.org/api.php"
12
+ BASE_PARAMS = { format: 'json' }
13
+
14
+ def lookup(lemma)
15
+ @lemma = lemma
16
+ if @lemma =~ /\s/
17
+ @lemma.split(' ').map do |l|
18
+ begin
19
+ lookup(l)
20
+ rescue MultiJson::LoadError
21
+ end
22
+ end
23
+ else
24
+ @uri = Addressable::URI.parse BASE_URL
25
+ @uri.query_values = BASE_PARAMS.merge(phrase: @lemma)
26
+ response = Net::HTTP.get_response(@uri)
27
+
28
+ unless response.kind_of? Net::HTTPSuccess
29
+ raise Bahtera::RequestError, "HTTP Response: #{response.code} #{response.message}"
30
+ end
31
+ parse_response(response.body)
32
+ end
33
+ end
34
+
35
+
36
+ private
37
+ def parse_response(response)
38
+ begin
39
+ parsed_json = MultiJson.load response
40
+ Kata.new parsed_json
41
+ rescue MultiJson::LoadError
42
+ LemmaNotFound.new("No entry found for '#{@lemma}'", @uri)
43
+ end
44
+ end
45
+ end
46
+
47
+ class LemmaNotFound
48
+ attr_reader :message, :uri
49
+
50
+ def initialize(message, uri)
51
+ @message = message
52
+ @uri = uri
53
+ end
54
+ end
55
+
56
+ end
@@ -0,0 +1,65 @@
1
+ module Bahtera
2
+ class BaseKata
3
+ def initialize(hash)
4
+ assign_attribute_names hash
5
+ end
6
+
7
+
8
+ private
9
+ def assign_attribute_names(hash_response)
10
+ attributes = hash_response.keys
11
+ self.class.class_eval { attr_reader *attributes }
12
+ attributes.each do |attr_name|
13
+ if hash_response[attr_name]
14
+ instance_variable_set("@#{attr_name}",
15
+ hash_response[attr_name])
16
+ end
17
+ end
18
+ end
19
+ end
20
+
21
+ class Kata < BaseKata
22
+ def initialize(hash)
23
+ assign_attribute_names hash['kateglo']
24
+ end
25
+
26
+
27
+ private
28
+ def assign_attribute_names(hash_response)
29
+ super hash_response
30
+ %w( root definition reference proverbs translations all_relation ).each do |attribute_name|
31
+ override_array_hash(attribute_name)
32
+ self.class.send :define_method, "has_#{attribute_name}?" do
33
+ send(attribute_name).any?
34
+ end
35
+ end
36
+ assign_relations if relation.any?
37
+ end
38
+
39
+ def assign_relations
40
+ relation_hashes = relation.keys.map do |rel_type|
41
+ relation[rel_type] if relation[rel_type].is_a?(Hash)
42
+ end.compact
43
+ relation_hashes.each do |relation_hash|
44
+ if relation_hash['name']
45
+ method_name = relation_hash.delete('name').downcase.gsub(/\s/, '_')
46
+ self.class.send :define_method, method_name.to_sym do
47
+ relation_hash.values.map do |hash_attr|
48
+ (hash_attr.is_a?(Hash))? BaseKata.new(hash_attr) : hash_attr
49
+ end
50
+ end
51
+ self.class.send :define_method, "has_#{method_name}?" do
52
+ self.send(method_name).any?
53
+ end
54
+ end
55
+ end
56
+ end
57
+
58
+ def override_array_hash(attr_name)
59
+ new_value = send(attr_name).map do |hash_attr|
60
+ BaseKata.new(hash_attr)
61
+ end
62
+ instance_variable_set("@#{attr_name}", new_value)
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,3 @@
1
+ module Bahtera
2
+ VERSION = "0.0.2"
3
+ end
@@ -0,0 +1,65 @@
1
+ require 'spec_helper'
2
+
3
+ describe Bahtera do
4
+ describe '#lookup' do
5
+ it 'should respond to #lookup' do
6
+ Bahtera.should respond_to(:lookup)
7
+ end
8
+
9
+ it 'should send request to the correct address' do
10
+ word = 'makan'
11
+ Net::HTTP.should_receive(:get_response).
12
+ with(Addressable::URI.parse("http://kateglo.bahtera.org/api.php?format=json&phrase=#{word}")).
13
+ and_return(stub_net_http_success('bahtera_kata_valid'))
14
+ Bahtera.lookup word
15
+ end
16
+
17
+ describe '#lookup valid words' do
18
+ before do
19
+ stub_net_http('bahtera_kata_valid')
20
+ end
21
+
22
+ it '#lookup a valid word should return an instance of Bahtera::Kata' do
23
+ word = 'kata'
24
+ Bahtera.lookup(word).should be_a(Bahtera::Kata)
25
+ end
26
+
27
+ it '#lookup many valid words should return an array of Bahtera::Kata instances' do
28
+ results = Bahtera.lookup('minum makan belajar')
29
+ results.should be_a(Array)
30
+ results.all? { |r| r.is_a?(Bahtera::Kata) }.should be_true
31
+ end
32
+ end
33
+
34
+ it '#lookup invalid words should raise MultiJson::LoadError' do
35
+ stub_net_http('bahtera_kata_invalid')
36
+ word = 'invalid_kata'
37
+ Bahtera.lookup(word).should be_a(Bahtera::LemmaNotFound)
38
+ end
39
+
40
+ it '#lookup mix of invalid & valid words returns an array of LemmaNotFound & Kata instances' do
41
+ word_hash = {
42
+ kata: 'bahtera_kata_valid',
43
+ gwempor: 'bahtera_kata_invalid'
44
+ }
45
+ word_hash.each do |word, filename|
46
+ Net::HTTP.stub(:get_response).
47
+ with(Addressable::URI.parse("http://kateglo.bahtera.org/api.php?format=json&phrase=#{word}")).
48
+ and_return(stub_net_http_success(filename))
49
+ end
50
+ results = Bahtera.lookup('kata gwempor')
51
+ results.should be_a(Array)
52
+ results.first.should be_a(Bahtera::Kata)
53
+ results.last.should be_a(Bahtera::LemmaNotFound)
54
+ end
55
+
56
+ describe 'should raise Bahtera::RequestError when' do
57
+ it 'returning request is a client error' do
58
+ stub_net_http(nil, '404')
59
+ expect {
60
+ Bahtera.lookup('that_throws_error')
61
+ }.to raise_error(Bahtera::RequestError)
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,9 @@
1
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
2
+ <html><head>
3
+ <title>404 Not Found</title>
4
+ </head><body>
5
+ <h1>Not Found</h1>
6
+ <p>The requested URL /api.php was not found on this server.</p>
7
+ <hr>
8
+ <address>Apache Server at invalidkateglo.bahtera.org Port 80</address>
9
+ </body></html>
@@ -0,0 +1,7 @@
1
+ <p>Antarmuka pemrograman aplikasi (API) yang (masih) sangat sederhana ini dibuat untuk memungkinkan para pengembang memanfaatkan data yang disediakan oleh Kateglo. Untuk tahap awal, baru modul kamus yang dapat diakses dengan API ini.</p>
2
+ <p>Gunakan format</p>
3
+ <blockquote>http://bahtera.org/kateglo/api.php?format=[xml|json]&phrase=[lema_yang_dicari].</blockquote></p>
4
+ <p>Contoh:</p>
5
+ <blockquote><a href="api.php?format=xml&phrase=kata">http://bahtera.org/kateglo/api.php?format=xml&phrase=kata</a><br /><a href="api.php?format=json&phrase=bahtera">http://bahtera.org/kateglo/api.php?format=json&phrase=bahtera</a></blockquote>
6
+ <p>Silakan pelajari sendiri dulu keluaran XML atau JSON yang dihasilkan karena dokumentasi masih belum sempat dibuat.</p>
7
+ <p>API ini disediakan dengan apa adanya, dan ada kemungkinan akan berubah format.</p>
@@ -0,0 +1 @@
1
+ {"kateglo":{"phrase":"makan","phrase_type":"r","lex_class":"v","roget_class":null,"pronounciation":null,"etymology":null,"ref_source":"KBBI3","def_count":"16","actual_phrase":null,"info":null,"notes":null,"updated":"2010-03-10 14:42:51","updater":"ivanlanin","created":"2009-06-01 07:55:05","creator":null,"proverb_updated":null,"wikipedia_updated":"2009-06-02 19:00:31","kbbi_updated":"2009-06-11 13:46:30","lex_class_name":"Verba","roget_name":null,"ref_source_name":"KBBI III","lex_class_ref":"verba","root":[],"definition":[{"def_uid":"122565","phrase":"makan","def_num":"1","lex_class":null,"def_text":"memasukkan makanan pokok ke dalam mulut serta mengunyah dan menelannya","discipline":null,"sample":"mereka -- tiga kali sehari","see":null,"updated":"2010-03-10 14:42:51","updater":"ivanlanin","wikipedia_updated":null,"lex_class_ref":null},{"def_uid":"122566","phrase":"makan","def_num":"2","lex_class":null,"def_text":"memasukkan sesuatu ke dalam mulut, kemudian mengunyah dan menelannya","discipline":null,"sample":"ia sedang -- pisang","see":null,"updated":"2010-03-10 14:42:51","updater":"ivanlanin","wikipedia_updated":null,"lex_class_ref":null},{"def_uid":"122567","phrase":"makan","def_num":"3","lex_class":null,"def_text":"memasukkan sesuatu ke dalam mulut dan mengunyah-ngunyahnya","discipline":null,"sample":"Nenek sedang -- sirih","see":null,"updated":"2010-03-10 14:42:51","updater":"ivanlanin","wikipedia_updated":null,"lex_class_ref":null},{"def_uid":"122568","phrase":"makan","def_num":"4","lex_class":null,"def_text":"memasukkan sesuatu ke dalam mulut dan menelannya","discipline":null,"sample":"pasien harus -- pil","see":null,"updated":"2010-03-10 14:42:51","updater":"ivanlanin","wikipedia_updated":null,"lex_class_ref":null},{"def_uid":"122569","phrase":"makan","def_num":"5","lex_class":null,"def_text":"mengisap","discipline":null,"sample":"-- candu","see":null,"updated":"2010-03-10 14:42:51","updater":"ivanlanin","wikipedia_updated":null,"lex_class_ref":null},{"def_uid":"122570","phrase":"makan","def_num":"6","lex_class":null,"def_text":"memakai; memerlukan; menghabiskan (waktu, biaya, dsb)","discipline":null,"sample":"pembangunan jembatan ini -- waktu lama; upacara adat itu -- ongkos besar","see":null,"updated":"2010-03-10 14:42:51","updater":"ivanlanin","wikipedia_updated":null,"lex_class_ref":null},{"def_uid":"122571","phrase":"makan","def_num":"7","lex_class":null,"def_text":"menyerang, mematikan, mengambil (dalam permainan catur)","discipline":null,"sample":"gajah -- bidak putih","see":null,"updated":"2010-03-10 14:42:51","updater":"ivanlanin","wikipedia_updated":null,"lex_class_ref":null},{"def_uid":"122572","phrase":"makan","def_num":"8","lex_class":null,"def_text":"bekerja sebagaimana mestinya (tentang rem, gigi roda, dsb)","discipline":null,"sample":null,"see":null,"updated":"2010-03-10 14:42:51","updater":"ivanlanin","wikipedia_updated":null,"lex_class_ref":null},{"def_uid":"122573","phrase":"makan","def_num":"9","lex_class":null,"def_text":"melukai","discipline":null,"sample":"air keras itu -- kulit","see":null,"updated":"2010-03-10 14:42:51","updater":"ivanlanin","wikipedia_updated":null,"lex_class_ref":null},{"def_uid":"122574","phrase":"makan","def_num":"10","lex_class":null,"def_text":"mengenai; menembus","discipline":null,"sample":"ditembaknya tiga kali, tetapi tidak --","see":null,"updated":"2010-03-10 14:42:51","updater":"ivanlanin","wikipedia_updated":null,"lex_class_ref":null},{"def_uid":"122575","phrase":"makan","def_num":"11","lex_class":null,"def_text":"memperoleh sesuatu; mencapai sesuatu","discipline":null,"sample":"layarnya tidak -- , tidak memperoleh angin; sauhnya dapat -- , mencapai dasar laut","see":null,"updated":"2010-03-10 14:42:51","updater":"ivanlanin","wikipedia_updated":null,"lex_class_ref":null},{"def_uid":"122576","phrase":"makan","def_num":"12","lex_class":null,"def_text":"(dapat) masuk (tentang barang yang dimasukkan ke lubang, ke air)","discipline":null,"sample":"kapal ini lima meter -- nya ke dalam air","see":null,"updated":"2010-03-10 14:42:51","updater":"ivanlanin","wikipedia_updated":null,"lex_class_ref":null},{"def_uid":"122577","phrase":"makan","def_num":"13","lex_class":null,"def_text":"mengambil; mempergunakan dsb secara tidak sah (milik orang lain atau negara)","discipline":"ki","sample":"ia telah -- pupuk milik koperasi","see":null,"updated":"2010-03-10 14:42:51","updater":"ivanlanin","wikipedia_updated":null,"lex_class_ref":null},{"def_uid":"122578","phrase":"makan","def_num":"14","lex_class":null,"def_text":"meniduri perempuan (biasanya dalam arti hubungan gelap)","discipline":"ki","sample":"pemuda itu -- anak gadis tetangganya sampai hamil","see":null,"updated":"2010-03-10 14:42:51","updater":"ivanlanin","wikipedia_updated":null,"lex_class_ref":null},{"def_uid":"122579","phrase":"makan","def_num":"15","lex_class":"n","def_text":"rezeki","discipline":"ki","sample":"memberi --; diberi --","see":null,"updated":"2010-03-10 14:42:51","updater":"ivanlanin","wikipedia_updated":null,"lex_class_ref":"nomina"},{"def_uid":"122583","phrase":"makan","def_num":"16","lex_class":"n","def_text":"tempat berlindungnya hati dan kesehatan jasmani, lenyapnya keragu-raguan yang disebabkan oleh kesibukan kerja jasmani","discipline":null,"sample":null,"see":null,"updated":"2010-03-10 14:42:51","updater":"ivanlanin","wikipedia_updated":null,"lex_class_ref":"nomina"}],"reference":[{"ext_uid":"7315","phrase":"makan","label":"Makan - Wikipedia bahasa Indonesia","url":"http:\/\/id.wikipedia.org\/wiki\/Makan","updated":"2010-03-10 14:42:51","updater":"ivanlanin"},{"ext_uid":"7316","phrase":"makan","label":"Eating - Wikipedia bahasa Inggris","url":"http:\/\/en.wikipedia.org\/wiki\/Eating","updated":"2010-03-10 14:42:51","updater":"ivanlanin"}],"proverbs":[{"prv_uid":"2425","phrase":"makan","proverb":"kalau guru makan berdiri, maka murid makan berlari","meaning":"kelakuan murid mencontoh kelakuan guru, biasanya dl hal yg tidak baik","prv_type":"1","updated":null,"updater":null},{"prv_uid":"2426","phrase":"makan","proverb":"kenyang (banyak) makan garam","meaning":"sudah berpengalaman dl hidup","prv_type":"1","updated":null,"updater":null},{"prv_uid":"2420","phrase":"makan","proverb":"makan bersabitkan","meaning":"orang yg senang, tiada bekerja dan dapat makan minum yg cukup, msl dr istri yg kaya dan pemurah","prv_type":"1","updated":null,"updater":null},{"prv_uid":"2421","phrase":"makan","proverb":"makan bubur panas-panas","meaning":"terlalu berharap akan beroleh rezeki, lalu bertindak tergesa-gesa sehingga kecewa jadinya","prv_type":"1","updated":null,"updater":null},{"prv_uid":"2422","phrase":"makan","proverb":"makan hati berulam jantung","meaning":"bersusah hati krn perbuatan salah seorang teman karib","prv_type":"1","updated":null,"updater":null},{"prv_uid":"2423","phrase":"makan","proverb":"makan sudah terhidang, jamu belum jua datang","meaning":" gadis yg telah besar, sudah patut bersuami, tetapi orang belum ada yg datang meminangnya","prv_type":"1","updated":null,"updater":null},{"prv_uid":"2424","phrase":"makan","proverb":"makan upas berulam racun","meaning":"orang yg dl kesusahan dan duka cita krn diliputi marabahaya yg besar","prv_type":"1","updated":null,"updater":null},{"prv_uid":"2427","phrase":"makan","proverb":"sudah makan, bismillah","meaning":"suatu pekerjaan atau rundingan yg dilakukan terbalik, jadi tidak mengikuti aturan","prv_type":"1","updated":null,"updater":null},{"prv_uid":"2428","phrase":"makan","proverb":"tempat makan jangan dibenahi","meaning":"kita jangan berbuat tidak senonoh di tempat kita menumpang; jangan berbuat jahat kpd orang yg berlaku baik kpd kita","prv_type":"1","updated":null,"updater":null},{"prv_uid":"2429","phrase":"makan","proverb":"tidak makan siku-siku","meaning":"1 cakap orang yg berleleran saja, tiada langsung ke tujuannya; 2 tidak baik; tidak patut","prv_type":"1","updated":null,"updater":null}],"translations":[{"lemma":"makan","ref_source":"ebsoft","translation":"1 eat, eat a meal. 2 take, swallow, ingest. 3 meal, food. 4 destroy, consume. 5 take, require, consume. 6 make a living by (in set phrases). 7 hit, strike. 8 in working condition. 9 range of a weapon,"},{"lemma":"makan","ref_source":"gkamus","translation":"1 eat, eat a meal. 2 take, swallow, ingest. 3 meal, food. 4 destroy, consume. 5 take, require, consume. 6 make a living by (in set phrases). 7 hit, strike. 8 in working condition. 9 range of a weapon, draw of a ship."}],"relation":{"relation_direct":110,"relation_reverse":10,"s":{"0":{"rel_uid":"106373","root_phrase":"makan","related_phrase":"melukai","rel_type":"s","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Sinonim","lex_class":"v"},"1":{"rel_uid":"106371","root_phrase":"makan","related_phrase":"memakai","rel_type":"s","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Sinonim","lex_class":"v"},"2":{"rel_uid":"106372","root_phrase":"makan","related_phrase":"memerlukan","rel_type":"s","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Sinonim","lex_class":"v"},"3":{"rel_uid":"106374","root_phrase":"makan","related_phrase":"mengenai","rel_type":"s","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Sinonim","lex_class":"n"},"4":{"rel_uid":"106370","root_phrase":"makan","related_phrase":"mengisap","rel_type":"s","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Sinonim","lex_class":"v"},"5":{"rel_uid":"106377","root_phrase":"makan","related_phrase":"rezeki","rel_type":"s","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Sinonim","lex_class":"n"},"6":{"rel_uid":"195066","root_phrase":"makan","related_phrase":"santap","rel_type":"s","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Sinonim","lex_class":"v"},"name":"Sinonim","7":{"root_phrase":"makan","related_phrase":"mencekik","rel_type":"s","rel_type_name":"Sinonim","lex_class":"v"},"8":{"root_phrase":"makan","related_phrase":"caplok","rel_type":"s","rel_type_name":"Sinonim","lex_class":"v"},"9":{"root_phrase":"makan","related_phrase":"mencengam","rel_type":"s","rel_type_name":"Sinonim","lex_class":"v"},"10":{"root_phrase":"makan","related_phrase":"ciak","rel_type":"s","rel_type_name":"Sinonim","lex_class":"n"},"11":{"root_phrase":"makan","related_phrase":"dahar","rel_type":"s","rel_type_name":"Sinonim","lex_class":"v"},"12":{"root_phrase":"makan","related_phrase":"melepaskan lapar","rel_type":"s","rel_type_name":"Sinonim","lex_class":"v"},"13":{"root_phrase":"makan","related_phrase":"mimik","rel_type":"s","rel_type_name":"Sinonim","lex_class":"n"},"14":{"root_phrase":"makan","related_phrase":"isi perut","rel_type":"s","rel_type_name":"Sinonim","lex_class":"n"},"15":{"root_phrase":"makan","related_phrase":"bersantap","rel_type":"s","rel_type_name":"Sinonim","lex_class":"v"},"16":{"root_phrase":"makan","related_phrase":"berboga","rel_type":"s","rel_type_name":"Sinonim","lex_class":"v"}},"a":{"name":"Antonim"},"r":{"name":"Berkaitan"},"d":{"0":{"rel_uid":"106444","root_phrase":"makan","related_phrase":"dimakan","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"v"},"1":{"rel_uid":"106450","root_phrase":"makan","related_phrase":"dimakan pakaian","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"v"},"2":{"rel_uid":"106452","root_phrase":"makan","related_phrase":"dimakan peluru","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"v"},"3":{"rel_uid":"106454","root_phrase":"makan","related_phrase":"dimakan sumpah","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"v"},"4":{"rel_uid":"106455","root_phrase":"makan","related_phrase":"dimakan tikus","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"v"},"5":{"rel_uid":"106456","root_phrase":"makan","related_phrase":"dimakan umur","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"v"},"6":{"rel_uid":"106457","root_phrase":"makan","related_phrase":"dimakan usia","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"v"},"7":{"rel_uid":"106442","root_phrase":"makan","related_phrase":"makan-makan","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"v"},"8":{"rel_uid":"106492","root_phrase":"makan","related_phrase":"makan-makanan","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"9":{"rel_uid":"106466","root_phrase":"makan","related_phrase":"makanan","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"10":{"rel_uid":"106468","root_phrase":"makan","related_phrase":"makanan alami","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"11":{"rel_uid":"106469","root_phrase":"makan","related_phrase":"makanan anak ayam","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"12":{"rel_uid":"106470","root_phrase":"makan","related_phrase":"makanan babi","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"13":{"rel_uid":"106471","root_phrase":"makan","related_phrase":"makanan beku","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"14":{"rel_uid":"106472","root_phrase":"makan","related_phrase":"makanan berserat","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"15":{"rel_uid":"106473","root_phrase":"makan","related_phrase":"makanan buatan","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"16":{"rel_uid":"106474","root_phrase":"makan","related_phrase":"makanan cepat saji","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"17":{"rel_uid":"106475","root_phrase":"makan","related_phrase":"makanan cepat siap","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"18":{"rel_uid":"106476","root_phrase":"makan","related_phrase":"makanan dimurnikan sebagian","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"19":{"rel_uid":"106477","root_phrase":"makan","related_phrase":"makanan empuk","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"20":{"rel_uid":"106478","root_phrase":"makan","related_phrase":"makanan hijau","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"21":{"rel_uid":"106479","root_phrase":"makan","related_phrase":"makanan kaleng","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"22":{"rel_uid":"106480","root_phrase":"makan","related_phrase":"makanan kecil","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"23":{"rel_uid":"106482","root_phrase":"makan","related_phrase":"makanan laut","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"24":{"rel_uid":"106483","root_phrase":"makan","related_phrase":"makanan mengapung","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"25":{"rel_uid":"106484","root_phrase":"makan","related_phrase":"makanan peluru","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"26":{"rel_uid":"106485","root_phrase":"makan","related_phrase":"makanan praktis","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"27":{"rel_uid":"106486","root_phrase":"makan","related_phrase":"makanan ringan","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"28":{"rel_uid":"106488","root_phrase":"makan","related_phrase":"makanan serba guna","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"29":{"rel_uid":"106489","root_phrase":"makan","related_phrase":"makanan siap saji","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"30":{"rel_uid":"106490","root_phrase":"makan","related_phrase":"makanan tambahan","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"31":{"rel_uid":"106491","root_phrase":"makan","related_phrase":"makanan tunagiri","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"32":{"rel_uid":"106443","root_phrase":"makan","related_phrase":"memakan","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"v"},"33":{"rel_uid":"106458","root_phrase":"makan","related_phrase":"memakani","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"v"},"34":{"rel_uid":"106459","root_phrase":"makan","related_phrase":"memakankan","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"v"},"35":{"rel_uid":"106493","root_phrase":"makan","related_phrase":"pemakan","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"36":{"rel_uid":"106494","root_phrase":"makan","related_phrase":"pemakan anak","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"37":{"rel_uid":"106495","root_phrase":"makan","related_phrase":"pemakan bawang","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"38":{"rel_uid":"106514","root_phrase":"makan","related_phrase":"pemakan daging","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},"39":{"rel_uid":"106519","root_phrase":"makan","related_phrase":"sepemakan","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"adv"},"40":{"rel_uid":"106523","root_phrase":"makan","related_phrase":"sepemakan sirih","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"adv"},"41":{"rel_uid":"106460","root_phrase":"makan","related_phrase":"termakan","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"v"},"name":"Turunan"},"c":{"0":{"rel_uid":"257342","root_phrase":"makan","related_phrase":"bosor makan","rel_type":"c","updated":"2010-03-24 18:08:40","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"adj"},"1":{"rel_uid":"254504","root_phrase":"makan","related_phrase":"kamar makan","rel_type":"c","updated":"2010-03-17 19:00:32","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"n"},"2":{"rel_uid":"247582","root_phrase":"makan","related_phrase":"kereta makan","rel_type":"c","updated":"2010-03-12 04:08:41","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"n"},"3":{"rel_uid":"257615","root_phrase":"makan","related_phrase":"kursi makan","rel_type":"c","updated":"2010-03-25 20:49:42","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"n"},"4":{"rel_uid":"244450","root_phrase":"makan","related_phrase":"lemari makan","rel_type":"c","updated":"2010-03-10 18:15:43","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"n"},"5":{"rel_uid":"106380","root_phrase":"makan","related_phrase":"makan ampun","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"6":{"rel_uid":"106381","root_phrase":"makan","related_phrase":"makan angin","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"7":{"rel_uid":"106382","root_phrase":"makan","related_phrase":"makan arwah","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"8":{"rel_uid":"106383","root_phrase":"makan","related_phrase":"makan asam garam","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"9":{"rel_uid":"106384","root_phrase":"makan","related_phrase":"makan ayapan","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"10":{"rel_uid":"106387","root_phrase":"makan","related_phrase":"makan bawang","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"11":{"rel_uid":"106392","root_phrase":"makan","related_phrase":"makan bebas","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"12":{"rel_uid":"106395","root_phrase":"makan","related_phrase":"makan benak","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"13":{"rel_uid":"106397","root_phrase":"makan","related_phrase":"makan berpantang","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"14":{"rel_uid":"106400","root_phrase":"makan","related_phrase":"makan berulam","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"15":{"rel_uid":"106401","root_phrase":"makan","related_phrase":"makan besar","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"16":{"rel_uid":"106404","root_phrase":"makan","related_phrase":"makan biaya","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"17":{"rel_uid":"106406","root_phrase":"makan","related_phrase":"makan darah","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"18":{"rel_uid":"106407","root_phrase":"makan","related_phrase":"makan dati","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"19":{"rel_uid":"106408","root_phrase":"makan","related_phrase":"makan dawai","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"20":{"rel_uid":"106409","root_phrase":"makan","related_phrase":"makan dedak","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"21":{"rel_uid":"106410","root_phrase":"makan","related_phrase":"makan diri","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"22":{"rel_uid":"106411","root_phrase":"makan","related_phrase":"makan duit","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"23":{"rel_uid":"106412","root_phrase":"makan","related_phrase":"makan emas","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"24":{"rel_uid":"106413","root_phrase":"makan","related_phrase":"makan gaji","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"25":{"rel_uid":"106414","root_phrase":"makan","related_phrase":"makan hak","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"26":{"rel_uid":"106415","root_phrase":"makan","related_phrase":"makan jangat","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"27":{"rel_uid":"106416","root_phrase":"makan","related_phrase":"makan kawan sendiri","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"28":{"rel_uid":"106417","root_phrase":"makan","related_phrase":"makan kawat","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"29":{"rel_uid":"106418","root_phrase":"makan","related_phrase":"makan kerawat","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"30":{"rel_uid":"106419","root_phrase":"makan","related_phrase":"makan keringat orang","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"31":{"rel_uid":"106420","root_phrase":"makan","related_phrase":"makan kuli","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"32":{"rel_uid":"106421","root_phrase":"makan","related_phrase":"makan malam","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"33":{"rel_uid":"106422","root_phrase":"makan","related_phrase":"makan ongkos","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"34":{"rel_uid":"106423","root_phrase":"makan","related_phrase":"makan pagi","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"35":{"rel_uid":"106425","root_phrase":"makan","related_phrase":"makan pena","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"36":{"rel_uid":"106426","root_phrase":"makan","related_phrase":"makan riba","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"37":{"rel_uid":"106427","root_phrase":"makan","related_phrase":"makan sekolah","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"38":{"rel_uid":"106429","root_phrase":"makan","related_phrase":"makan sepinggan","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"39":{"rel_uid":"106430","root_phrase":"makan","related_phrase":"makan siang","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"40":{"rel_uid":"106431","root_phrase":"makan","related_phrase":"makan sogok","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"41":{"rel_uid":"106432","root_phrase":"makan","related_phrase":"makan suap","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"42":{"rel_uid":"106433","root_phrase":"makan","related_phrase":"makan sumpah","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"43":{"rel_uid":"106434","root_phrase":"makan","related_phrase":"makan tali","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"44":{"rel_uid":"106435","root_phrase":"makan","related_phrase":"makan tanah","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"45":{"rel_uid":"106436","root_phrase":"makan","related_phrase":"makan tangan","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"46":{"rel_uid":"106437","root_phrase":"makan","related_phrase":"makan tidur","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"47":{"rel_uid":"106438","root_phrase":"makan","related_phrase":"makan tulang","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"48":{"rel_uid":"106439","root_phrase":"makan","related_phrase":"makan uang","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"49":{"rel_uid":"106440","root_phrase":"makan","related_phrase":"makan upah","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"50":{"rel_uid":"106441","root_phrase":"makan","related_phrase":"makan waktu","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},"51":{"rel_uid":"261315","root_phrase":"makan","related_phrase":"mencari makan","rel_type":"c","updated":"2010-04-06 05:12:35","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"v"},"52":{"rel_uid":"247240","root_phrase":"makan","related_phrase":"menyosoh makan","rel_type":"c","updated":"2010-03-11 22:27:34","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"v"},"53":{"rel_uid":"260537","root_phrase":"makan","related_phrase":"mogok makan","rel_type":"c","updated":"2010-04-02 23:12:47","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"v"},"54":{"rel_uid":"260648","root_phrase":"makan","related_phrase":"perkakas makan","rel_type":"c","updated":"2010-04-03 10:55:34","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"n"},"55":{"rel_uid":"263356","root_phrase":"makan","related_phrase":"pisau makan","rel_type":"c","updated":"2010-04-18 02:32:27","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"n"},"56":{"rel_uid":"252887","root_phrase":"makan","related_phrase":"rumah makan","rel_type":"c","updated":"2010-03-15 19:35:13","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"n"},"57":{"rel_uid":"255342","root_phrase":"makan","related_phrase":"sendok makan","rel_type":"c","updated":"2010-03-19 09:48:32","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"n"},"58":{"rel_uid":"249693","root_phrase":"makan","related_phrase":"servis makan","rel_type":"c","updated":"2010-03-13 17:09:01","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"n"},"59":{"rel_uid":"258058","root_phrase":"makan","related_phrase":"turun makan","rel_type":"c","updated":"2010-03-27 11:42:50","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"v"},"60":{"rel_uid":"261876","root_phrase":"makan","related_phrase":"uang makan","rel_type":"c","updated":"2010-04-09 04:56:18","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"n"},"name":"Gabungan kata"},"pb":{"name":"Peribahasa"},"relation_all":120},"all_relation":[{"rel_uid":"106373","root_phrase":"makan","related_phrase":"melukai","rel_type":"s","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Sinonim","lex_class":"v"},{"rel_uid":"106371","root_phrase":"makan","related_phrase":"memakai","rel_type":"s","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Sinonim","lex_class":"v"},{"rel_uid":"106372","root_phrase":"makan","related_phrase":"memerlukan","rel_type":"s","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Sinonim","lex_class":"v"},{"rel_uid":"106374","root_phrase":"makan","related_phrase":"mengenai","rel_type":"s","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Sinonim","lex_class":"n"},{"rel_uid":"106370","root_phrase":"makan","related_phrase":"mengisap","rel_type":"s","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Sinonim","lex_class":"v"},{"rel_uid":"106377","root_phrase":"makan","related_phrase":"rezeki","rel_type":"s","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Sinonim","lex_class":"n"},{"rel_uid":"195066","root_phrase":"makan","related_phrase":"santap","rel_type":"s","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Sinonim","lex_class":"v"},{"rel_uid":"106444","root_phrase":"makan","related_phrase":"dimakan","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"v"},{"rel_uid":"106450","root_phrase":"makan","related_phrase":"dimakan pakaian","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"v"},{"rel_uid":"106452","root_phrase":"makan","related_phrase":"dimakan peluru","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"v"},{"rel_uid":"106454","root_phrase":"makan","related_phrase":"dimakan sumpah","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"v"},{"rel_uid":"106455","root_phrase":"makan","related_phrase":"dimakan tikus","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"v"},{"rel_uid":"106456","root_phrase":"makan","related_phrase":"dimakan umur","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"v"},{"rel_uid":"106457","root_phrase":"makan","related_phrase":"dimakan usia","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"v"},{"rel_uid":"106442","root_phrase":"makan","related_phrase":"makan-makan","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"v"},{"rel_uid":"106492","root_phrase":"makan","related_phrase":"makan-makanan","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106466","root_phrase":"makan","related_phrase":"makanan","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106468","root_phrase":"makan","related_phrase":"makanan alami","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106469","root_phrase":"makan","related_phrase":"makanan anak ayam","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106470","root_phrase":"makan","related_phrase":"makanan babi","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106471","root_phrase":"makan","related_phrase":"makanan beku","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106472","root_phrase":"makan","related_phrase":"makanan berserat","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106473","root_phrase":"makan","related_phrase":"makanan buatan","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106474","root_phrase":"makan","related_phrase":"makanan cepat saji","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106475","root_phrase":"makan","related_phrase":"makanan cepat siap","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106476","root_phrase":"makan","related_phrase":"makanan dimurnikan sebagian","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106477","root_phrase":"makan","related_phrase":"makanan empuk","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106478","root_phrase":"makan","related_phrase":"makanan hijau","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106479","root_phrase":"makan","related_phrase":"makanan kaleng","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106480","root_phrase":"makan","related_phrase":"makanan kecil","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106482","root_phrase":"makan","related_phrase":"makanan laut","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106483","root_phrase":"makan","related_phrase":"makanan mengapung","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106484","root_phrase":"makan","related_phrase":"makanan peluru","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106485","root_phrase":"makan","related_phrase":"makanan praktis","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106486","root_phrase":"makan","related_phrase":"makanan ringan","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106488","root_phrase":"makan","related_phrase":"makanan serba guna","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106489","root_phrase":"makan","related_phrase":"makanan siap saji","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106490","root_phrase":"makan","related_phrase":"makanan tambahan","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106491","root_phrase":"makan","related_phrase":"makanan tunagiri","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106443","root_phrase":"makan","related_phrase":"memakan","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"v"},{"rel_uid":"106458","root_phrase":"makan","related_phrase":"memakani","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"v"},{"rel_uid":"106459","root_phrase":"makan","related_phrase":"memakankan","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"v"},{"rel_uid":"106493","root_phrase":"makan","related_phrase":"pemakan","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106494","root_phrase":"makan","related_phrase":"pemakan anak","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106495","root_phrase":"makan","related_phrase":"pemakan bawang","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106514","root_phrase":"makan","related_phrase":"pemakan daging","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"n"},{"rel_uid":"106519","root_phrase":"makan","related_phrase":"sepemakan","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"adv"},{"rel_uid":"106523","root_phrase":"makan","related_phrase":"sepemakan sirih","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"adv"},{"rel_uid":"106460","root_phrase":"makan","related_phrase":"termakan","rel_type":"d","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Turunan","lex_class":"v"},{"rel_uid":"257342","root_phrase":"makan","related_phrase":"bosor makan","rel_type":"c","updated":"2010-03-24 18:08:40","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"adj"},{"rel_uid":"254504","root_phrase":"makan","related_phrase":"kamar makan","rel_type":"c","updated":"2010-03-17 19:00:32","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"n"},{"rel_uid":"247582","root_phrase":"makan","related_phrase":"kereta makan","rel_type":"c","updated":"2010-03-12 04:08:41","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"n"},{"rel_uid":"257615","root_phrase":"makan","related_phrase":"kursi makan","rel_type":"c","updated":"2010-03-25 20:49:42","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"n"},{"rel_uid":"244450","root_phrase":"makan","related_phrase":"lemari makan","rel_type":"c","updated":"2010-03-10 18:15:43","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"n"},{"rel_uid":"106380","root_phrase":"makan","related_phrase":"makan ampun","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106381","root_phrase":"makan","related_phrase":"makan angin","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106382","root_phrase":"makan","related_phrase":"makan arwah","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106383","root_phrase":"makan","related_phrase":"makan asam garam","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106384","root_phrase":"makan","related_phrase":"makan ayapan","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106387","root_phrase":"makan","related_phrase":"makan bawang","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106392","root_phrase":"makan","related_phrase":"makan bebas","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106395","root_phrase":"makan","related_phrase":"makan benak","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106397","root_phrase":"makan","related_phrase":"makan berpantang","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106400","root_phrase":"makan","related_phrase":"makan berulam","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106401","root_phrase":"makan","related_phrase":"makan besar","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106404","root_phrase":"makan","related_phrase":"makan biaya","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106406","root_phrase":"makan","related_phrase":"makan darah","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106407","root_phrase":"makan","related_phrase":"makan dati","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106408","root_phrase":"makan","related_phrase":"makan dawai","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106409","root_phrase":"makan","related_phrase":"makan dedak","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106410","root_phrase":"makan","related_phrase":"makan diri","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106411","root_phrase":"makan","related_phrase":"makan duit","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106412","root_phrase":"makan","related_phrase":"makan emas","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106413","root_phrase":"makan","related_phrase":"makan gaji","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106414","root_phrase":"makan","related_phrase":"makan hak","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106415","root_phrase":"makan","related_phrase":"makan jangat","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106416","root_phrase":"makan","related_phrase":"makan kawan sendiri","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106417","root_phrase":"makan","related_phrase":"makan kawat","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106418","root_phrase":"makan","related_phrase":"makan kerawat","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106419","root_phrase":"makan","related_phrase":"makan keringat orang","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106420","root_phrase":"makan","related_phrase":"makan kuli","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106421","root_phrase":"makan","related_phrase":"makan malam","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106422","root_phrase":"makan","related_phrase":"makan ongkos","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106423","root_phrase":"makan","related_phrase":"makan pagi","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106425","root_phrase":"makan","related_phrase":"makan pena","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106426","root_phrase":"makan","related_phrase":"makan riba","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106427","root_phrase":"makan","related_phrase":"makan sekolah","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106429","root_phrase":"makan","related_phrase":"makan sepinggan","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106430","root_phrase":"makan","related_phrase":"makan siang","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106431","root_phrase":"makan","related_phrase":"makan sogok","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106432","root_phrase":"makan","related_phrase":"makan suap","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106433","root_phrase":"makan","related_phrase":"makan sumpah","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106434","root_phrase":"makan","related_phrase":"makan tali","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106435","root_phrase":"makan","related_phrase":"makan tanah","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106436","root_phrase":"makan","related_phrase":"makan tangan","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106437","root_phrase":"makan","related_phrase":"makan tidur","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106438","root_phrase":"makan","related_phrase":"makan tulang","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106439","root_phrase":"makan","related_phrase":"makan uang","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106440","root_phrase":"makan","related_phrase":"makan upah","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"106441","root_phrase":"makan","related_phrase":"makan waktu","rel_type":"c","updated":"2010-03-10 14:42:51","updater":"ivanlanin","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"261315","root_phrase":"makan","related_phrase":"mencari makan","rel_type":"c","updated":"2010-04-06 05:12:35","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"247240","root_phrase":"makan","related_phrase":"menyosoh makan","rel_type":"c","updated":"2010-03-11 22:27:34","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"260537","root_phrase":"makan","related_phrase":"mogok makan","rel_type":"c","updated":"2010-04-02 23:12:47","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"260648","root_phrase":"makan","related_phrase":"perkakas makan","rel_type":"c","updated":"2010-04-03 10:55:34","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"n"},{"rel_uid":"263356","root_phrase":"makan","related_phrase":"pisau makan","rel_type":"c","updated":"2010-04-18 02:32:27","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"n"},{"rel_uid":"252887","root_phrase":"makan","related_phrase":"rumah makan","rel_type":"c","updated":"2010-03-15 19:35:13","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"n"},{"rel_uid":"255342","root_phrase":"makan","related_phrase":"sendok makan","rel_type":"c","updated":"2010-03-19 09:48:32","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"n"},{"rel_uid":"249693","root_phrase":"makan","related_phrase":"servis makan","rel_type":"c","updated":"2010-03-13 17:09:01","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"n"},{"rel_uid":"258058","root_phrase":"makan","related_phrase":"turun makan","rel_type":"c","updated":"2010-03-27 11:42:50","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"v"},{"rel_uid":"261876","root_phrase":"makan","related_phrase":"uang makan","rel_type":"c","updated":"2010-04-09 04:56:18","updater":"rooter","rel_type_name":"Gabungan kata","lex_class":"n"}]}}
@@ -0,0 +1,59 @@
1
+ require 'spec_helper'
2
+
3
+ describe Bahtera::Kata do
4
+ describe '#initialize' do
5
+ it 'should initialize from valid json string' do
6
+ Bahtera::Kata.new(parsed_fixture_file('bahtera_kata_valid')).should be_a(Bahtera::Kata)
7
+ end
8
+
9
+ it 'should raise MultiJson::LoadError when initializing from invalid json string' do
10
+ expect {
11
+ Bahtera::Kata.new(parsed_fixture_file('bahtera_kata_invalid'))
12
+ }.to raise_error(MultiJson::LoadError)
13
+ end
14
+
15
+ describe 'assigning attribute with values' do
16
+ parsed_response = parsed_fixture_file('bahtera_kata_valid')
17
+ before do
18
+ @expected_attributes = parsed_response['kateglo']
19
+ @kata = Bahtera::Kata.new(parsed_response)
20
+ end
21
+
22
+ array_attributes = {}
23
+ parsed_response['kateglo'].keys.each do |attr_name|
24
+ if parsed_response['kateglo'][attr_name].is_a?(Array)
25
+ array_attributes[attr_name] = parsed_response['kateglo'][attr_name]
26
+ next
27
+ end
28
+ it "should assign ##{attr_name} correctly" do
29
+ @kata.send(attr_name).should == @expected_attributes[attr_name]
30
+ end
31
+ end
32
+
33
+ array_attributes.each do |attr_name, array|
34
+ it "##{attr_name} should transform to the array of Bahtera::BaseKata" do
35
+ @kata.send(attr_name).all? do |entry|
36
+ entry.is_a?(Bahtera::BaseKata)
37
+ end.should be_true
38
+ end
39
+
40
+ it "should respond_to #has_#{attr_name}?" do
41
+ method_name = "has_#{attr_name}?"
42
+ @kata.should respond_to(method_name)
43
+ @kata.send(method_name).should == @expected_attributes[attr_name].any?
44
+ end
45
+ end
46
+
47
+ describe 'assigning relation methods' do
48
+ %w( sinonim antonim berkaitan turunan gabungan_kata peribahasa).each do |attr_name|
49
+ has_method_name = "has_#{attr_name}?"
50
+
51
+ it "should respond to ##{attr_name} & ##{has_method_name}" do
52
+ @kata.should respond_to(attr_name)
53
+ @kata.should respond_to(has_method_name)
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,52 @@
1
+ require 'bahtera'
2
+
3
+ class SocketStub
4
+ def initialize(body)
5
+ @body = body
6
+ end
7
+
8
+ def closed?
9
+ false
10
+ end
11
+
12
+ def read_all(from)
13
+ @body
14
+ end
15
+ end
16
+
17
+ def stub_net_http(filename = nil, code = nil)
18
+ response = if filename && code.nil?
19
+ stub_net_http_success(filename)
20
+ else
21
+ stub_net_http_error(code)
22
+ end
23
+ Net::HTTP.stub(:get_response).and_return(response)
24
+ end
25
+
26
+ def stub_net_http_success(filename)
27
+ body = fixture_file(filename)
28
+ response = Net::HTTPOK.new(Net::HTTP.version_1_2, '200', '')
29
+ attach_response_body(response, body)
30
+ end
31
+
32
+ def stub_net_http_error(code)
33
+ body = fixture_file("bahtera_kata_error_#{code}")
34
+ response = Net::HTTPClientError.new(Net::HTTP.version_1_2, code, '')
35
+ attach_response_body(response, body)
36
+ end
37
+
38
+ def attach_response_body(response, body)
39
+ response.reading_body(SocketStub.new(body), true){}
40
+ response.body = body
41
+ response
42
+ end
43
+
44
+ def parsed_fixture_file(filename)
45
+ MultiJson.load fixture_file(filename)
46
+ end
47
+
48
+ def fixture_file(filename)
49
+ file_path = File.join(File.expand_path(File.dirname(__FILE__)),
50
+ 'fixtures', "#{filename}.json" )
51
+ File.read file_path
52
+ end
metadata ADDED
@@ -0,0 +1,139 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: bahtera
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Adinda Praditya
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-04-22 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rake
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rspec
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: addressable
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: multi_json
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ description: The unofficial Ruby library for accessing Kateglo Bahtera API, an online
79
+ dictionary, thesaurus and glossarium for bahasa Indonesia
80
+ email:
81
+ - apraditya@gmail.com
82
+ executables: []
83
+ extensions: []
84
+ extra_rdoc_files: []
85
+ files:
86
+ - .gitignore
87
+ - .rvmrc
88
+ - Gemfile
89
+ - Guardfile
90
+ - LICENSE.txt
91
+ - README.md
92
+ - Rakefile
93
+ - bahtera.gemspec
94
+ - lib/bahtera.rb
95
+ - lib/bahtera/kata.rb
96
+ - lib/bahtera/version.rb
97
+ - spec/bahtera_spec.rb
98
+ - spec/fixtures/bahtera_kata_error_404.json
99
+ - spec/fixtures/bahtera_kata_invalid.json
100
+ - spec/fixtures/bahtera_kata_valid.json
101
+ - spec/lib/bahtera/kata_spec.rb
102
+ - spec/spec_helper.rb
103
+ homepage: https://github.com/apraditya/bahtera
104
+ licenses: []
105
+ post_install_message:
106
+ rdoc_options: []
107
+ require_paths:
108
+ - lib
109
+ required_ruby_version: !ruby/object:Gem::Requirement
110
+ none: false
111
+ requirements:
112
+ - - ! '>='
113
+ - !ruby/object:Gem::Version
114
+ version: '0'
115
+ segments:
116
+ - 0
117
+ hash: -3553642502716914400
118
+ required_rubygems_version: !ruby/object:Gem::Requirement
119
+ none: false
120
+ requirements:
121
+ - - ! '>='
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ segments:
125
+ - 0
126
+ hash: -3553642502716914400
127
+ requirements: []
128
+ rubyforge_project:
129
+ rubygems_version: 1.8.25
130
+ signing_key:
131
+ specification_version: 3
132
+ summary: Kateglo Bahtera Ruby gem
133
+ test_files:
134
+ - spec/bahtera_spec.rb
135
+ - spec/fixtures/bahtera_kata_error_404.json
136
+ - spec/fixtures/bahtera_kata_invalid.json
137
+ - spec/fixtures/bahtera_kata_valid.json
138
+ - spec/lib/bahtera/kata_spec.rb
139
+ - spec/spec_helper.rb