This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| class MyAppError < StandardError | |
| attr_reader :data | |
| def initialize(data) | |
| super(data) | |
| @data = data | |
| end | |
| end | |
| class AuthorizationError < MyAppError | |
| def requesting_user |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| class Success | |
| attr_reader :data | |
| def initialize(data) | |
| @data = data | |
| end | |
| def success? | |
| true | |
| end | |
| end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| app/ | |
| services/ | |
| create_invoice.rb | |
| correct_invoice.rb | |
| pay_invoice.rb | |
| register_user.rb | |
| register_user_with_google.rb | |
| change_password.rb |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| TxOJ8Xw5dBR5jvJT9yh7yL6dFiWd9ZC76O6Sz5VilJ75mvKUoTv2XMpv2EJX | |
| CcH0YRG0Xbq7OoOytqf200wW801onZP_y1ZiIIuw2pZiIloNJrsBTyI3udJF | |
| WebUMbI5Udd9nrtW2OH6z6rPQJMzQOHUO0uU-YMecYoGDhZ3p77UY_Bu_GjF | |
| yMFB8zn3XZiJt0K6oo73Gt9B20_aUTSkgzFJ5DrCyGa-fQBvYxTuFPq0G8LP | |
| 6v3bD7oNUdOWx3OPn6IfzY9Pltv-5eiGYwT_IUid1WHv5kt2LcsA0jSD_YvO | |
| fq7H3OHPgH_yVwHQvwBKD_w6_m0S_0eR8XhcQm4f0KpmuxP7D2fuQMeEPAJC | |
| wBWYl3X-4c33On10Eqif8h4wdDfr_lJ5FTE4mzi5q2GIroEWgb-cu27BF6b7 | |
| xxmaoSG6zM2EICNAStB3HXvuUvEIps4hmeAyKqHUyoqyr0ZiGJ3uBL498kWQ | |
| ii-QOr1Iq6R249ZtqUi7uAAkC9UrPq8MOSfBj_ew3mb-ZArKcHPTIVwT9dV1 | |
| EarjH6Wt8lHeyPejqEIb2cxWSiZ6B5iujVAlBYJ1ZFXWSDkcaA4psFVZgKy0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # defined in component 1 | |
| @listenTo Application.vent, "someevent", (argument)-> | |
| # do something with argument | |
| # defined in component 2 | |
| @listenTo Application.vent, "someevent", (argument)-> | |
| # do something else with argument |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Application.commands.setHandler 'logout', -> | |
| Application.currentUser = null | |
| Application.mainRegion.show(new HomepageView) | |
| Application.execute('navigate' '/') | |
| Application.commands.setHandler 'navigate', (path) -> | |
| Backbone.history.navigate(path) | |
| Application.execute('logout') |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # define responses | |
| Application.reqres.setHandler "post:new", -> | |
| new Post | |
| Application.reqres.setHandler "post:get", (id) -> | |
| post = new Post(id: id) | |
| post.fetch() | |
| post | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Application.module 'Posts', (Posts, Application, Backbone, Marionete, $, _) -> | |
| Posts.Router = Marionette.AppRouter.extend | |
| appRoutes: | |
| 'post/:id': 'show' | |
| class Posts.Controller | |
| show: (id)-> | |
| post = new Post(id: id) | |
| view = new Posts.Views.Post(model: post) | |
| Application.mainRegion.show(view) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Application = new Marionette.Application | |
| # this will replace your mainLayout | |
| Application.addRegions | |
| mainRegion: 'body' | |
| Application.on 'initialize:after', -> | |
| Backbone.history.start() | |
| # OtherView definition |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| class MainLayout extends Marionette.Layout | |
| template: -> "<div id='main-region'></div>" | |
| regions: | |
| mainRegion: '#main-region' | |
| # application startup | |
| App.mainLayout = new MainLayout | |
| $("body").html(@mainLayout.render().$el) | |
| # somewhere in a router |