Module: Jabara

Defined in:
lib/jabara.rb,
lib/jabara/data.rb,
lib/jabara/version.rb,
lib/jabara/mysql/output.rb,
lib/jabara/mysql/schema.rb,
lib/jabara/parse_com/input.rb,
lib/jabara/parse_com/schema.rb,
lib/jabara/transformer/nest.rb,
lib/jabara/mysql_bulk/output.rb,
lib/jabara/transformer/flatten.rb,
lib/jabara/transformer/key_value.rb

Defined Under Namespace

Modules: MySQL, MySQLBulk, ParseCom, Transformer

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.array(reprs) ⇒ Object



19
20
21
# File 'lib/jabara/data.rb', line 19

def self.array(reprs)
  [:array, reprs]
end

.data(repr) ⇒ Object

アクセサ



33
34
35
# File 'lib/jabara/data.rb', line 33

def self.data(repr)
  repr[1]
end

.id(repr) ⇒ Object

use only for :object



52
53
54
55
# File 'lib/jabara/data.rb', line 52

def self.id(repr)
  return nil if repr.length < 4
  return repr[3]
end

.nullObject



11
12
13
# File 'lib/jabara/data.rb', line 11

def self.null
  [:null]
end

.object(object_type, data, id = nil) ⇒ Object



15
16
17
# File 'lib/jabara/data.rb', line 15

def self.object(object_type, data, id=nil)
  [:object, data, object_type, id]
end

.object_type(repr) ⇒ Object

use only for :object



42
43
44
# File 'lib/jabara/data.rb', line 42

def self.object_type(repr)
  repr[2]
end

.primitive(tag, data) ⇒ Object

コンストラクタ



7
8
9
# File 'lib/jabara/data.rb', line 7

def self.primitive(tag, data)
  [tag, data]
end

.primitive?(repr) ⇒ Boolean

Returns:

  • (Boolean)


46
47
48
49
# File 'lib/jabara/data.rb', line 46

def self.primitive?(repr)
  tag = self.tag(repr)
  not [:array, :object, :set].include?(tag)
end

.set(reprs) ⇒ Object



23
24
25
# File 'lib/jabara/data.rb', line 23

def self.set(reprs)
  [:set, reprs]
end

.set_data(repr, data) ⇒ Object



37
38
39
# File 'lib/jabara/data.rb', line 37

def self.set_data(repr, data)
  repr[1] = data
end

.tag(repr) ⇒ Object



27
28
29
# File 'lib/jabara/data.rb', line 27

def self.tag(repr)
  repr[0]
end