cfrederick-titanium 0.5.1 → 0.5.2

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.
Files changed (3) hide show
  1. data/README.rdoc +80 -3
  2. data/lib/sqlite_adapter.rb +2 -2
  3. metadata +2 -2
data/README.rdoc CHANGED
@@ -1,5 +1,82 @@
1
- = What is titanium?
1
+ = titanium
2
+
3
+ titanium is a Rack[http://rack.rubyforge.org] based application server that follows
4
+ RESTful[http://en.wikipedia.org/wiki/Representational_State_Transfer] principals to
5
+ automatically interact with a
6
+ document-oriented[http://en.wikipedia.org/wiki/Document-oriented_database] database.
7
+ Additionally, titanium uses JSON[http://en.wikipedia.org/wiki/JSON] to return information back to
8
+ the consumer.
9
+
10
+ == What are some possible uses for titanium?
11
+ The most common choice is for simple AJAX enabled web applications; however, the list below includes additional ideas.
12
+
13
+ * to develop web applications with only HTML and JavaScript
14
+ * to develop a content management system with an administrative interface for another system
15
+ * to prototype a web page/site
16
+ * to provide simple storage access to anything with the ability to make HTTP requests
17
+ * shared hosting providers could add titanium to their Rack enabled web servers to allow customers the ability to create web applications with storage just by using HTML and JavaScript
18
+
19
+ == How does titanium work?
20
+
21
+ Standard HTTP protocol conventions are used to determine what database actions to perform.
22
+
23
+ Below are examples of HTTP requests and a brief explanation of the database action that will be executed.
24
+
25
+ Inserts a car into the datastore. The data saved is determined from the POST parameters. Returns the key of the item saved.
26
+ POST /foo/car
27
+
28
+ Updates the car with key 55. The data updated is taken from the PUT parameters. Returns the key of the item updated.
29
+ PUT /foo/car@55
30
+
31
+ Returns all cars
32
+ GET /foo/car
33
+
34
+ Returns a single car who's key is equal to 55.
35
+ GET /foo/car@55
36
+
37
+ Returns all Honda car's made in 2009
38
+ GET /foo/car?year=2009&make=Honda
39
+
40
+ Returns all car's made in 2009 sorted by make in ascending order
41
+ GET /foo/car?year=2009&sort-field=make&sort-order=asc
42
+
43
+ Returns the second page of five results of Honda car's made in 2009 sorted by model in descending order
44
+ GET /foo/car?year=2009&make=Honda&sort-field=model&sort-order=desc&limit=5&offset=5
45
+
46
+ Deletes the car with key 55
47
+ DELETE /foo/car@55
48
+
49
+ Deletes all cars
50
+ DELETE /foo/car
51
+
52
+ == Getting started
53
+ Follow the instructions below to start developing a site using titanium.
54
+
55
+ Create the folder structure below for the web application's source.
56
+ myapp
57
+ myapp/public
58
+ myapp/tmp
59
+
60
+ Create an <tt>index.html</tt> file in the <tt>myapp/public</tt> folder.
61
+
62
+ Create a rackup file at <tt>myapp/config.ru</tt> with the following contents. This file is used to tell
63
+ the titanium server where the web application resides. <em>Make sure to use the full path to the
64
+ <tt>myapp/public</tt> folder.</em>
65
+ require 'titanium'
66
+ run Titanium::Server.new("/var/www/myapp/public")
67
+
68
+ Download and install Ruby[http://www.ruby-lang.org] at http://www.ruby-lang.org/en/downloads.
69
+
70
+ Download and install SQLite3[http://sqlite.org] for Ruby. Typically this involves downloading
71
+ a precompiled set of binaries from http://sqlite.org/download.html, and unpacking the download into the
72
+ ruby/bin directory.
73
+
74
+ Install the titanium gem with:
75
+ sudo gem install cfrederick-titanium
76
+
77
+ Run titanium using the <tt>config.ru</tt> created above.
78
+ rackup /var/www/myapp/config.ru
79
+
80
+ View at: http://localhost:9292
2
81
 
3
- = How does titanium work?
4
82
 
5
- = Getting started
@@ -73,7 +73,7 @@ module Titanium
73
73
  @db.execute(sql_insert_attribute, :resource_key => resource_key, :key => key, :value => value)
74
74
  end
75
75
  end
76
- return resource_key
76
+ return resource_key.to_s
77
77
  end
78
78
 
79
79
  def update(resource_key, metadata)
@@ -99,7 +99,7 @@ module Titanium
99
99
  end
100
100
 
101
101
  def count_by_name(name)
102
- return @db.get_first_value(sql_count_of_resources_by_type_name, :name => name)
102
+ return @db.get_first_value(sql_count_of_resources_by_type_name, :name => name).to_i
103
103
  end
104
104
 
105
105
  def delete_all_by_name(name)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cfrederick-titanium
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cody Frederick
@@ -30,7 +30,7 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 1.2.4
33
+ version: 1.2.2
34
34
  version:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: json_pure