Sha256: b6705de3c9948816c2c04c4cc0f57a4332f48ac9b6658b597574874c30053f43
Contents?: true
Size: 1.19 KB
Versions: 3
Compression:
Stored size: 1.19 KB
Contents
# "Swiss", RubyMotion Android SQLite by VirtualQ # schema loader stuff # i know it's rough but it works class Object attr_accessor :current_schema # convenience methods def log(tag, str) Android::Util::Log.d(tag, str) end def puts(str) log "general", str end def current_schema @current_schema end def schema(schema_name, &block) puts "running schema for #{schema_name}" @current_schema = {} @database_name = schema_name block.call puts @current_schema.inspect end def entity(class_name, &block) table_name = class_name.tableize puts "adding entity #{table_name} to schema" @table_name = table_name @current_schema[@table_name] = {} block.call $current_schema = @current_schema DataStore.current_schema = @current_schema end def add_column(name, type) @current_schema[@table_name][name] = type end %w(boolean float double integer datetime).each do |type| define_method(type) do |column_name| add_column column_name.to_s, type.upcase end end def string(column_name) add_column column_name.to_s, "VARCHAR" end def integer32(column_name) add_column column_name.to_s, "INTEGER" end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
swiss_db-0.7.2 | lib/swiss_db/db.rb |
swiss_db-0.7.1 | lib/swiss_db/db.rb |
swiss_db-0.7.0 | lib/swiss_db/db.rb |