orange 0.5.7 → 0.5.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/README.markdown +13 -158
  2. data/lib/orange.rb +2 -1
  3. metadata +42 -8
@@ -1,172 +1,27 @@
1
- Orange
2
- ======
1
+ This gem is a metagem for orange-core and orange-more. For more information, visit one of those projects:
3
2
 
4
- Orange is intended to be a middle ground between the simplicity of Sinatra
5
- and the power of Rails. Orange is being developed by Orange Sparkle Ball, inc
6
- for our own use. Our main focus is on creating a super-extensible CMS
7
- with Orange, but we're trying to make the components as reusable as possible. Our
8
- intention is to be ready to use Orange for most client website builds by
9
- May 2010.
3
+ **Orange Core**
10
4
 
11
- **Note**: Orange is still in the alpha stage. Test coverage is lack-luster at best.
12
- Tread carefully.
5
+ The heart of the Orange library. Main documentation here.
13
6
 
14
- A (Theoretical) Example of Orange
15
- =================================
7
+ [http://www.github.com/therabidbanana/orange-core](http://www.github.com/therabidbanana/orange-core)
16
8
 
17
- _This doesn't actually work quite yet, but it's the goal we're working toward._
9
+ **Orange More**
18
10
 
19
- After installing the orange gem, create an 'app.rb'
11
+ Various plugins developed to work with orange. These are optional and were split off to keep the core small.
20
12
 
21
- **app.rb:**
13
+ [http://www.github.com/therabidbanana/orange-more](http://www.github.com/therabidbanana/orange-more)
22
14
 
23
- require 'rubygems'
24
- require 'orange'
25
- class App < Orange::Application
26
- end
15
+ About Orange
16
+ ============
27
17
 
28
- You now have an Orange CMS that can be made by calling "App.app".
29
- Put this line in your rackup file...
18
+ Orange is a framework for building simple CMS sites without the colossal framework Rails requires. The goal is to host Ruby websites with Sinatra-like ease, while not giving up completely on the idea of MVC (when it's useful).
30
19
 
31
- **config.ru:**
20
+ Orange is not intended to be a general purpose full-featured framework, so if you're looking for a framework with testing built in and migrations and lots of generators, Rails is probably your best bet.
32
21
 
33
- require 'app'
34
- run App.app
35
-
36
- Run rack however you run rack.
37
-
38
- Look at that, a full fledged CMS in 6 lines! Not so impressive, it's all prebuilt,
39
- right? The real question is how hard is it to customize?
40
-
41
- I want my pages to have more than just titles and bodies. I want sidebars...
42
-
43
- **app.rb:**
44
-
45
- require 'rubygems'
46
- require 'orange'
47
- class App < Orange::Application
48
- end
49
- class Orange::Page
50
- markdown :sidebar, :context => [:front]
51
- end
52
-
53
- We now have a sidebar that anybody can see. The backend scaffolding will adapt to allow
54
- editing, and the front end will print it out for each page. Slap some CSS on it to make it
55
- look like a sidebar, and tada!
56
-
57
- Pages now have sidebars, in three lines of code and some
58
- styling. No migrations (we rely on DataMapper's auto_upgrade functionality), no extra
59
- files (unless we want them).
60
-
61
- More Info
62
- =========
63
-
64
- Orange Philosophy
65
- -----------------
66
- The Orange application framework is intended to be a fully customizable CMS
67
- capable of hosting multiple sites while maintaining Sinatra-like ease of
68
- programming. Some core ideas behind Orange:
69
-
70
- * Scaffolding doesn't have to be replaced if it's smart enough (most of the time)
71
- * Put as much functionality into middleware as possible, so it can be easily reused
72
- and remixed
73
- * Give middleware a little more power so it's useful enough to handle more tasks
74
-
75
-
76
- Should I Use Orange?
77
- --------------------
78
- Not right now, unless you want to write half the framework yourself.
79
-
80
-
81
- When it's finished, would I want to use it?
82
- -------------------------------------------
83
- Depends on what you're looking for. Orange has a middleware stack intended to
84
- be reused. If the stack has something you'd like, you could theoretically
85
- put the middleware stack on top of Sinatra or Rails. (This hasn't actually
86
- been tested yet.)
87
-
88
- The full Orange application framework is intended to run
89
- as an easily extensible CMS. We tend to think that having lots of tests
90
- and full MVC separation just so you can add an extra type of page to the CMS
91
- is a bit overkill. We designed this to replace ModX in our web builds for clients.
92
-
93
- Required Gems
94
- -------------
95
-
96
- * dm-core (+ do_[sqlite3|mysql|...] )
97
- * dm-more
98
- * dm-is-awesome_set
99
- * rack
100
- * haml
101
- * rack-abstract-format (github)
102
- * ruby-openid
103
- * rack-openid
104
- * openid_dm_store
105
- * radius
106
- * crack
107
- * eventbright
108
- * spreedly
109
- * hominid
110
- * mail
111
- * tlsmail (If Ruby version <= 1.8.6)
112
- * gattica
113
-
114
- All dependencies should be loaded if you install the gem except for the datamapper
115
- adapter relevant to your set up. If, for example, you want to use a mysql database,
116
- you'll need to install do_mysql, and for an sqlite3 database, you'll need do_sqlite3
117
-
118
-
119
- Also, you'll need a web server of some kind and need to set it up for rack.
120
-
121
- **Testing**
122
-
123
- If you want to test, you'll need the following gems:
124
-
125
- * rspec
126
- * rack-test
127
-
128
- Yard is also helpful for generating API docs
129
-
130
- The following are useful rake tasks for testing purposes:
131
-
132
- * rake test => (same as rake spec)
133
- * rake spec => runs rspec with color enabled and spec_helper included
134
- * rake doc => runs yardoc (no, not really necessary)
135
- * rake clean => clear out the temporary files not included in the repo
136
- * rake rcov => runs rspec with rcov
137
-
138
- For my own reference - jeweler rake task for deploying the new gem:
139
-
140
- * rake version:bump:patch release
141
-
142
- Programming Info
143
- ================
144
-
145
- The basics of using the orange framework...
146
-
147
- Terminology
148
- -----------
149
-
150
- * **Application**: The last stop for the packet after traversing through the middleware stack.
151
- * **Core**: This is the core orange object, accessible from all points of the orange
152
- system. Usually the orange instance can be called by simply using the "orange" function
153
- * **Mixins**: Extra functionality added directly to the core. Mixins are generally for only
154
- a couple of extra methods, anything more should probably be created as a resource.
155
- * **Packet**: This object represents a web request coming in to the orange system.
156
- Each request is instantiated as a packet before it is sent through the middleware stack.
157
- * **Pulp**: Mixin added to the packet object rather than the Core.
158
- * **Resources**: Resources are extra functionality contained within an object, accessible
159
- from the core.
160
- * **Stack**: The bundled collection of Orange-enhanced middleware sitting on top of the
161
- Orange application
162
-
163
- Pulp and Mixins
164
- ---------------
165
- The ability to add pulp and mixins is incredibly handy because the packet and the core are
166
- available from just about anywhere in the Orange framework. For instance, the haml parser
167
- evaluates all local calls as if made to the packet, so adding pulp is essentially adding
168
- functionality that is directly available to haml.
22
+ Orange is not intended to fix maximum functionality into a tiny single file. We're small, but our goal isn't to beat Sinatra on a lines of code basis. If you want the bare minimum necessary to create a tiny RESTful app, you just can't beat Sinatra.
169
23
 
24
+ Orange is (trying to be) the middle ground between those two extremes. It's built for the people in the middle - the ones who want to pick up Ruby for small websites they're working on, and don't want to have to go into the hassle of learning a massive framework like Rails, or the effort of creating a CMS from the foundation Sinatra provides.
170
25
 
171
26
  LICENSE:
172
27
  =========
@@ -1,2 +1,3 @@
1
1
  require 'orange-core'
2
- require 'orange-more'
2
+ require 'orange-more'
3
+ require 'orange-sparkles'
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: orange
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 27
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
8
  - 5
8
- - 7
9
- version: 0.5.7
9
+ - 8
10
+ version: 0.5.8
10
11
  platform: ruby
11
12
  authors:
12
13
  - David Haslem
@@ -14,16 +15,18 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-07-07 00:00:00 -04:00
18
+ date: 2010-07-08 00:00:00 -04:00
18
19
  default_executable:
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
21
22
  name: rack
22
23
  prerelease: false
23
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
24
26
  requirements:
25
27
  - - ">="
26
28
  - !ruby/object:Gem::Version
29
+ hash: 21
27
30
  segments:
28
31
  - 1
29
32
  - 0
@@ -35,9 +38,11 @@ dependencies:
35
38
  name: orange-core
36
39
  prerelease: false
37
40
  requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
38
42
  requirements:
39
43
  - - ">="
40
44
  - !ruby/object:Gem::Version
45
+ hash: 5
41
46
  segments:
42
47
  - 0
43
48
  - 5
@@ -49,9 +54,11 @@ dependencies:
49
54
  name: orange-more
50
55
  prerelease: false
51
56
  requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
52
58
  requirements:
53
59
  - - ">="
54
60
  - !ruby/object:Gem::Version
61
+ hash: 5
55
62
  segments:
56
63
  - 0
57
64
  - 5
@@ -60,29 +67,49 @@ dependencies:
60
67
  type: :runtime
61
68
  version_requirements: *id003
62
69
  - !ruby/object:Gem::Dependency
63
- name: rspec
70
+ name: orange-sparkles
64
71
  prerelease: false
65
72
  requirement: &id004 !ruby/object:Gem::Requirement
73
+ none: false
66
74
  requirements:
67
75
  - - ">="
68
76
  - !ruby/object:Gem::Version
77
+ hash: 5
69
78
  segments:
70
79
  - 0
71
- version: "0"
72
- type: :development
80
+ - 5
81
+ - 7
82
+ version: 0.5.7
83
+ type: :runtime
73
84
  version_requirements: *id004
74
85
  - !ruby/object:Gem::Dependency
75
- name: rack-test
86
+ name: rspec
76
87
  prerelease: false
77
88
  requirement: &id005 !ruby/object:Gem::Requirement
89
+ none: false
78
90
  requirements:
79
91
  - - ">="
80
92
  - !ruby/object:Gem::Version
93
+ hash: 3
81
94
  segments:
82
95
  - 0
83
96
  version: "0"
84
97
  type: :development
85
98
  version_requirements: *id005
99
+ - !ruby/object:Gem::Dependency
100
+ name: rack-test
101
+ prerelease: false
102
+ requirement: &id006 !ruby/object:Gem::Requirement
103
+ none: false
104
+ requirements:
105
+ - - ">="
106
+ - !ruby/object:Gem::Version
107
+ hash: 3
108
+ segments:
109
+ - 0
110
+ version: "0"
111
+ type: :development
112
+ version_requirements: *id006
86
113
  description: Orange is a Ruby framework for building managed websites with code as simple as Sinatra
87
114
  email: therabidbanana@gmail.com
88
115
  executables: []
@@ -94,6 +121,9 @@ extra_rdoc_files:
94
121
  files:
95
122
  - lib/orange.rb
96
123
  - README.markdown
124
+ - spec/orange_spec.rb
125
+ - spec/spec_helper.rb
126
+ - spec/stats.rb
97
127
  has_rdoc: true
98
128
  homepage: http://github.com/therabidbanana/orange
99
129
  licenses: []
@@ -104,23 +134,27 @@ rdoc_options:
104
134
  require_paths:
105
135
  - lib
106
136
  required_ruby_version: !ruby/object:Gem::Requirement
137
+ none: false
107
138
  requirements:
108
139
  - - ">="
109
140
  - !ruby/object:Gem::Version
141
+ hash: 3
110
142
  segments:
111
143
  - 0
112
144
  version: "0"
113
145
  required_rubygems_version: !ruby/object:Gem::Requirement
146
+ none: false
114
147
  requirements:
115
148
  - - ">="
116
149
  - !ruby/object:Gem::Version
150
+ hash: 3
117
151
  segments:
118
152
  - 0
119
153
  version: "0"
120
154
  requirements: []
121
155
 
122
156
  rubyforge_project:
123
- rubygems_version: 1.3.6
157
+ rubygems_version: 1.3.7
124
158
  signing_key:
125
159
  specification_version: 3
126
160
  summary: Middle ground between Sinatra and Rails