Class: ChefWorkflow::DatabaseSupport::List
Instance Attribute Summary
Attributes inherited from Generic
#db
Instance Method Summary
collapse
Methods inherited from Collection
#initialize
Methods inherited from Generic
#_dump, _load, #initialize, #post_marshal_init
Instance Method Details
108
109
110
|
# File 'lib/chef-workflow/support/db/basic.rb', line 108
def clear
@db.execute("delete from #{@table_name} where name=?", [@object_name])
end
|
#create_table ⇒ Object
123
124
125
126
127
128
129
130
131
132
133
|
# File 'lib/chef-workflow/support/db/basic.rb', line 123
def create_table
@db.execute " create table if not exists \#{@table_name} (\n id integer not null primary key autoincrement,\n name varchar(255) not null,\n value text not null\n )\n EOF\n\n @db.execute \"create index if not exists \#{@table_name}_name_index on \#{@table_name} (name)\"\nend\n"
|
112
113
114
|
# File 'lib/chef-workflow/support/db/basic.rb', line 112
def each
to_a.each { |x| yield x }
end
|
93
94
95
|
# File 'lib/chef-workflow/support/db/basic.rb', line 93
def pop
to_a.pop
end
|
#push(val) ⇒ Object
Also known as:
<<
76
77
78
79
80
81
|
# File 'lib/chef-workflow/support/db/basic.rb', line 76
def push(val)
@db.execute(
"insert into #{@table_name} (name, value) values (?, ?)",
[@object_name, Marshal.dump(val)]
)
end
|
#replace(ary) ⇒ Object
97
98
99
100
101
102
103
104
105
106
|
# File 'lib/chef-workflow/support/db/basic.rb', line 97
def replace(ary)
clear
value_string = ("(?, ?)," * ary.count).chop
@db.execute(
"insert into #{@table_name} (name, value) values #{value_string}",
ary.map { |x| [@object_name, Marshal.dump(x)] }.flatten
)
end
|
89
90
91
|
# File 'lib/chef-workflow/support/db/basic.rb', line 89
def shift
to_a.shift
end
|
116
117
118
119
120
121
|
# File 'lib/chef-workflow/support/db/basic.rb', line 116
def to_a
@db.execute(
"select value from #{@table_name} where name=? order by id",
[@object_name]
).map { |x| Marshal.load(x.first) }
end
|
#unshift(val) ⇒ Object
85
86
87
|
# File 'lib/chef-workflow/support/db/basic.rb', line 85
def unshift(val)
replace([val] + to_a)
end
|