README.md in ProMotion-1.1.2 vs README.md in ProMotion-1.2.0

- old
+ new

@@ -1,6 +1,6 @@ -# ProMotion [![Build Status](https://travis-ci.org/clearsightstudio/ProMotion.png)](https://travis-ci.org/clearsightstudio/ProMotion) [![Code Climate](https://codeclimate.com/github/clearsightstudio/ProMotion.png)](https://codeclimate.com/github/clearsightstudio/ProMotion) +# ProMotion [![Gem Version](https://badge.fury.io/rb/ProMotion.png)](http://badge.fury.io/rb/ProMotion) [![Build Status](https://travis-ci.org/clearsightstudio/ProMotion.png)](https://travis-ci.org/clearsightstudio/ProMotion) [![Code Climate](https://codeclimate.com/github/clearsightstudio/ProMotion.png)](https://codeclimate.com/github/clearsightstudio/ProMotion) [![Dependency Status](https://gemnasium.com/clearsightstudio/ProMotion.png)](https://gemnasium.com/clearsightstudio/ProMotion) ## iPhone Apps, Ruby-style ProMotion is a RubyMotion gem that makes iOS development more like Ruby and less like Objective-C. It introduces a clean, Ruby-style syntax for building screens that is easy to learn and remember and @@ -21,14 +21,14 @@ # app/screens/root_screen.rb class RootScreen < PM::Screen title "Root Screen" def on_load - set_nav_bar_button :right, title: "Help", action: :help + set_nav_bar_button :right, title: "Help", action: :open_help_screen end - def help + def open_help_screen open HelpScreen end end # app/screens/help_screen.rb @@ -42,10 +42,18 @@ { title: "About this app", action: :tapped_about }, { title: "Log out", action: :log_out } ] }] end + + def tapped_about(args={}) + open AboutScreen + end + + def log_out + # Log out! + end end ``` # Features @@ -65,73 +73,45 @@ #### ...and much more. # Getting Started 1. Check out the [Getting Started Guide](https://github.com/clearsightstudio/ProMotion/wiki/Guide:-Getting-Started) in the wiki -2. Follow a tutorial: [Building an ESPN app using RubyMotion, ProMotion, and TDD](http://jamonholmgren.com/building-an-espn-app-using-rubymotion-promotion-and-tdd) +2. Watch the excellent [MotionInMotion screencast about ProMotion](https://motioninmotion.tv/screencasts/8) (very reasonably priced subscription required) +3. Follow a tutorial: [Building an ESPN app using RubyMotion, ProMotion, and TDD](http://jamonholmgren.com/building-an-espn-app-using-rubymotion-promotion-and-tdd) # What's New? -## Version 1.1.x +## Version 1.2.x -* Added a [ProMotion executable](https://github.com/clearsightstudio/ProMotion/wiki/Command-Line-Tool) called `promotion`. You can type `promotion new <myapp>` and it will create a ProMotion-specific app. We will be adding more functionality in the future. -* Can now pass a symbol to `add`, `add_to`, and `set_attributes` to call a method with that name to get styles. -* Added `button_title:` to `open_split_screen` to [customize the auto-generated button title](https://github.com/clearsightstudio/ProMotion/wiki/API-Reference:-ProMotion::SplitScreen#open_split_screenmaster-detail-args--) -* Updates to [set_tab_bar_button](https://github.com/clearsightstudio/ProMotion/wiki/API-Reference:-ProMotion::Tabs#set_tab_bar_itemargs) -* Added to PM::Delegate [`on_open_url(args = {})`](https://github.com/clearsightstudio/ProMotion/wiki/API-Reference:-ProMotion::Delegate#on_open_urlargs--) where `args` contains `:url`, `:source_app`, and `:annotation` -* Added to PM::Delegate [`tint_color`](https://github.com/clearsightstudio/ProMotion/wiki/API-Reference:-ProMotion::Delegate#tint_color) to customize the application-wide tint color -* Added to [PM::MapScreen annotations](https://github.com/clearsightstudio/ProMotion/wiki/API-Reference:-ProMotion::MapScreen) the ability to set an image -* Removed legacy `navigation_controller` references which were causing confusion. -* Allowed setting a `custom_view` for `bar_button_item`s. -* Added `will_begin_search` and `will_end_search` callbacks to PM::TableScreen. -* Added `title_view` and `title_view_height` to sections in PM::TableScreen. -* Updated screenshots for iOS 7 -* Refactored code and lots of new passing tests +1. Now uses [motion-require](https://github.com/clayallsopp/motion-require) for better compatibility with other libraries [6046dd7f4](https://github.com/clearsightstudio/ProMotion/commit/6046dd7f49ba174f309baaa428eaac80ce0290b6) +2. SplitScreen: New option `swipe:` allows you to specify if a splitscreen master screen can be opened with a swipe. [ffbb76caf](https://github.com/clearsightstudio/ProMotion/commit/ffbb76caf3071297347d4cf43784069999a746b3) +3. FormotionScreen: Removed `PM::FormotionScreen` and the Formotion testing dependency. Use [ProMotion-formotion](https://github.com/rheoli/ProMotion-formotion) instead. +4. Styling: Added a `content_width` helper to PM::Styling (similar to `content_height`) [08a984815](https://github.com/clearsightstudio/ProMotion/commit/08a984815a7c96b9465c31b2e2664ac0086d2e1c) +5. TableScreen: Removed SDWebImage in favor of similar but more reliable JDImageCache [59ed747e9](https://github.com/clearsightstudio/ProMotion/commit/59ed747e93567e32bdb5099fed12297161cea05a) +6. Screen: Allow custom views (including images) for `title` setting [#415](https://github.com/clearsightstudio/ProMotion/pull/415) -# Tutorials - -Shows how to make a basic app in ProMotion. Updated in May. - -[http://www.clearsightstudio.com/insights/ruby-motion-promotion-tutorial](http://www.clearsightstudio.com/insights/ruby-motion-promotion-tutorial) - -## Screencasts - -Shows how to create a Youtube app that shows Portland Trailblazer highlights. - -[http://www.clearsightstudio.com/insights/tutorial-make-youtube-video-app-rubymotion-promotion/](http://www.clearsightstudio.com/insights/tutorial-make-youtube-video-app-rubymotion-promotion/) - -## Sample Apps - -Here's a demo app that is used to test new functionality. You might have to change the Gemfile -source to pull from Github. - -[https://github.com/jamonholmgren/promotion-demo](https://github.com/jamonholmgren/promotion-demo) - -Here's a demo app showing some styling options. - -[https://github.com/jamonholmgren/promotion-styling](https://github.com/jamonholmgren/promotion-styling) - # API Reference We've created a comprehensive and always updated wiki with code examples, usage examples, and API reference. ### [ProMotion API Reference](https://github.com/clearsightstudio/ProMotion/wiki) # Help +ProMotion is not only an easy DSL to get started. The community is very helpful and +welcoming to new RubyMotion developers. We don't mind newbie questions. + If you need help, feel free to tweet [@jamonholmgren](http://twitter.com/jamonholmgren) -or open an issue on GitHub. Opening an issue is usually the best and we respond to those pretty quickly. -If we don't respond within a day, tweet Jamon or Mark a link to the issue. +or open an issue on GitHub. Opening an issue is usually the best and we respond to those +pretty quickly. If we don't respond within a day, tweet Jamon or Mark a link to the issue. # Contributing -See [CONTRIBUTING.md](https://github.com/clearsightstudio/ProMotion/edit/master/CONTRIBUTING.md). +See [CONTRIBUTING.md](https://github.com/clearsightstudio/ProMotion/blob/master/CONTRIBUTING.md). ## Primary Contributors * Jamon Holmgren: [@jamonholmgren](https://twitter.com/jamonholmgren) * Silas Matson: [@silasjmatson](https://twitter.com/silasjmatson) * Matt Brewer: [@macfanatic](https://twitter.com/macfanatic) * Mark Rickert: [@markrickert](https://twitter.com/markrickert) * [Many others](https://github.com/clearsightstudio/ProMotion/graphs/contributors) -* Run `git shortlog -s -n -e` to see everyone who has contributed. -