mxit-rails 0.1.2 → 0.1.4

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.
data/README.rdoc CHANGED
@@ -1,3 +1,102 @@
1
- = MxitRails
1
+ Mxit Rails
2
+ ==========
2
3
 
3
- This project rocks and uses MIT-LICENSE.
4
+ A gem that includes a simple and opinionated templating framework for Rails-based Mxit apps.
5
+ This includes a rough layout, support for styles similar to CSS classes, wrapped inputs, and
6
+ an elegant way to support Mxit's conversation-based interface.
7
+
8
+ Later versions will also include wrappers for important Mxit APIs.
9
+
10
+ Sample App
11
+ ----------
12
+ A basic to-do app has been set up as an example of the gem in use. It can be seen at [mxit-to-do](https://github.com/linsen/mxit-to-do).
13
+
14
+ Installation
15
+ ------------
16
+ To use the gem, just include the gem your rails projects' gemfile:
17
+
18
+ gem 'mxit-rails', '~> 0.1.2'
19
+
20
+ The newest version is 0.1.2 - it is not recommended to use any earlier versions.
21
+
22
+ Basic usage
23
+ -----------
24
+ To set up a controller to use the gem, you need to include the `MxitRails::Page` module:
25
+
26
+ include MxitRails::Page
27
+
28
+ This creates a few helper methods that can be used within that controller
29
+
30
+ - `input input_name, input_label` - Define the page's input field with a name (symbol) and text label
31
+ - `validate type, [parameter], message` - Set up validations on the input field.
32
+ - `validate message, &block` - A custom message with a block providing a `true` (valid) or `false` (invalid) value.
33
+ Note that the block must not use a `return` statement
34
+ - `submit &block` - A code block that will only be executed if the input was submitted and passed all validations.
35
+
36
+ ### Validations
37
+ Currently the following validations are available:
38
+ - `:not_blank`
39
+ - `:numeric`
40
+ - `:length, exact_length`
41
+ - `:min_length, min`
42
+ - `:max_length, max`
43
+
44
+
45
+ Multi-step forms
46
+ ----------------
47
+ The gem allows the easy set up of multi-step forms within a single controller action. Forms are defined as follows:
48
+
49
+ form do
50
+ step :first do
51
+ ...
52
+ end
53
+ step :second do
54
+ ...
55
+ end
56
+ end
57
+
58
+ The order in which steps are defined will be the order they are presented to users in. Each step should have its own view file, in
59
+ `app/views/controller/action/step`. Each step has access to the same helper methods as the controller itself. For steps that don't
60
+ have an input field, a `proceed` helper method is provided
61
+
62
+ - `proceed message` - Show a proceed link rather than a form input
63
+
64
+ Users will only proceed to the next step in the form if all validations of the previous step pass.
65
+
66
+ If the action has a `submit` block (defined outside of the `form`), it will only be executed after the last step is completed.
67
+
68
+
69
+ Styles
70
+ ------
71
+ Mxit-rails has a basic styling engine that functions similarly to CSS classes. Styles are identified by a symbol,
72
+ and can be declared in any controller with the `mxit_style` macro. It is recommended to declare them in application controller.
73
+
74
+ mxit_style :author, 'background-color:#F8F3EA; color:#000000'
75
+
76
+ To include a style in a template, use the `mxit_style` helper method. Any number of styles can be given as parameters to this method.
77
+
78
+ <p style="<%= mxit_style :author %>">Lewis Carroll</p>
79
+
80
+ The following special styles are used in the overall layout, and it is thus recommended that they be defined. Note that links can only be styled per-page, not per link.
81
+
82
+ - `:body` - The page body (`body` element in html)
83
+ - `:title` - The page title
84
+ - `:link` - The colour of links in the page
85
+ - `:link_hover` - The colour and background colour of highlighted links.
86
+
87
+
88
+ Layout
89
+ ------
90
+ The gem currently includes a default layout that has a title bar, an optional navigation link, and a form input below the body where appropriate.
91
+ The title and navigation should be defined with `content_for` blocks, addressing `:title` and `:navigation` respectively.
92
+
93
+
94
+ Emulator
95
+ --------
96
+ The mxit-rails gem is provided with an emulator to aid development. It can be accessed at `/emulator`. The url will dynamically update to show
97
+ the current URL of the page shown as a suffix, e.g. `emulator/path_to/page`. Certain parts of the app can similarly be loaded directly by
98
+ navigating to their corresponding URL.
99
+
100
+ To set the root URL of the emulator, add the following line to `config/application.rb`:
101
+
102
+ config.mxit_root = 'mxit'
@@ -1,4 +1,7 @@
1
1
  module MxitRails
2
2
  class Engine < ::Rails::Engine
3
+ initializer "precompile", :group => :all do |app|
4
+ app.config.assets.precompile += %w( mxit_rails/emulator.js mxit_rails/emulator.css mxit_rails/included.css )
5
+ end
3
6
  end
4
7
  end
@@ -1,3 +1,3 @@
1
1
  module MxitRails
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.4"
3
3
  end
@@ -45411,3 +45411,60 @@ Completed 200 OK in 4ms (Views: 3.6ms | ActiveRecord: 0.0ms)
45411
45411
 
45412
45412
  Started GET "/assets/mxit_rails/included.css?body=1" for 127.0.0.1 at 2012-09-18 08:06:19 +0200
45413
45413
  Served asset /mxit_rails/included.css - 304 Not Modified (0ms)
45414
+
45415
+
45416
+ Started GET "/emulator/" for 127.0.0.1 at 2012-09-18 12:11:43 +0200
45417
+ Connecting to database specified by database.yml
45418
+ Processing by EmulatorController#index as HTML
45419
+ Rendered /Users/linsenloots/Dev/payments/mxit-rails/app/views/emulator/index.html.erb (24.5ms)
45420
+ Completed 200 OK in 34ms (Views: 34.1ms | ActiveRecord: 0.0ms)
45421
+
45422
+
45423
+ Started GET "/assets/mxit_rails/emulator.css?body=1" for 127.0.0.1 at 2012-09-18 12:11:43 +0200
45424
+ Served asset /mxit_rails/emulator.css - 200 OK (2ms)
45425
+
45426
+
45427
+ Started GET "/assets/mxit_rails/jquery-1.8.0.min.js?body=1" for 127.0.0.1 at 2012-09-18 12:11:43 +0200
45428
+ Served asset /mxit_rails/jquery-1.8.0.min.js - 304 Not Modified (32ms)
45429
+
45430
+
45431
+ Started GET "/assets/mxit_rails/jquery.cookie.js?body=1" for 127.0.0.1 at 2012-09-18 12:11:44 +0200
45432
+ Served asset /mxit_rails/jquery.cookie.js - 304 Not Modified (3ms)
45433
+
45434
+
45435
+ Started GET "/assets/mxit_rails/jquery.history.js?body=1" for 127.0.0.1 at 2012-09-18 12:11:44 +0200
45436
+ Served asset /mxit_rails/jquery.history.js - 304 Not Modified (2ms)
45437
+
45438
+
45439
+ Started GET "/assets/mxit_rails/emulator.js?body=1" for 127.0.0.1 at 2012-09-18 12:11:44 +0200
45440
+ Served asset /mxit_rails/emulator.js - 304 Not Modified (6ms)
45441
+
45442
+
45443
+ Started GET "/assets/mxit_rails/nokia-5310-frame.png" for 127.0.0.1 at 2012-09-18 12:11:44 +0200
45444
+ Served asset /mxit_rails/nokia-5310-frame.png - 304 Not Modified (12ms)
45445
+
45446
+
45447
+ Started GET "/assets/mxit_rails/go.png" for 127.0.0.1 at 2012-09-18 12:11:44 +0200
45448
+ Served asset /mxit_rails/go.png - 304 Not Modified (2ms)
45449
+
45450
+
45451
+ Started GET "/assets/mxit_rails/out.png" for 127.0.0.1 at 2012-09-18 12:11:44 +0200
45452
+ Served asset /mxit_rails/out.png - 304 Not Modified (2ms)
45453
+
45454
+
45455
+ Started GET "/assets/mxit_rails/refresh.png" for 127.0.0.1 at 2012-09-18 12:11:44 +0200
45456
+ Served asset /mxit_rails/refresh.png - 304 Not Modified (2ms)
45457
+
45458
+
45459
+ Started GET "/mxit" for 127.0.0.1 at 2012-09-18 12:11:44 +0200
45460
+ Processing by IndexController#index as HTML
45461
+ Rendered index/index.html.erb within layouts/mxit (0.6ms)
45462
+ Completed 200 OK in 10ms (Views: 9.5ms | ActiveRecord: 0.0ms)
45463
+
45464
+
45465
+ Started GET "/assets/mxit_rails/included.css?body=1" for 127.0.0.1 at 2012-09-18 12:11:44 +0200
45466
+ Served asset /mxit_rails/included.css - 200 OK (3ms)
45467
+
45468
+
45469
+ Started GET "/assets/mxit_rails/favicon.ico" for 127.0.0.1 at 2012-09-18 12:11:44 +0200
45470
+ Served asset /mxit_rails/favicon.ico - 304 Not Modified (3ms)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mxit-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: