├── .dockerignore
├── .env.dev
├── .env.test
├── .gitignore
├── .rspec
├── .ruby-version
├── .travis.yml
├── CONTRIBUTING.md
├── Dockerfile
├── Gemfile
├── Gemfile.lock
├── LICENSE
├── Procfile
├── README.md
├── Rakefile
├── app.json
├── app
├── assets
│ ├── fonts
│ │ ├── glyphicons-halflings-regular.eot
│ │ ├── glyphicons-halflings-regular.svg
│ │ ├── glyphicons-halflings-regular.ttf
│ │ └── glyphicons-halflings-regular.woff
│ ├── images
│ │ ├── Bountysource-190x60.png
│ │ ├── Bountysource-green.png
│ │ ├── Bountysource-square-100.png
│ │ ├── Bountysource-white.png
│ │ ├── GitHub-Mark-32px.png
│ │ ├── ajax-loader.gif
│ │ ├── anon.jpg
│ │ ├── backgrounds
│ │ │ ├── home-desk.svg
│ │ │ └── salt_splash.svg
│ │ ├── bird_blue_32.png
│ │ ├── bountysource-grey.png
│ │ ├── bs-anon.png
│ │ ├── checkbox.png
│ │ ├── checkbox_checked.png
│ │ ├── extension1.png
│ │ ├── facebook_share_32.png
│ │ ├── favicon-bitbucket.png
│ │ ├── favicon-bugzilla.png
│ │ ├── favicon-email.png
│ │ ├── favicon-facebook.png
│ │ ├── favicon-github-white.png
│ │ ├── favicon-github.png
│ │ ├── favicon-jira.png
│ │ ├── favicon-launchpad.png
│ │ ├── favicon-pivotal.png
│ │ ├── favicon-sourceforge.png
│ │ ├── favicon-trac.png
│ │ ├── favicon-twitter.png
│ │ ├── github-plugin-example.png
│ │ ├── github-plugin-example2.png
│ │ ├── github-plugin.png
│ │ ├── github-white-20.png
│ │ ├── github-white-24.png
│ │ ├── github-white.png
│ │ ├── google-wallet.png
│ │ ├── gplus-32.png
│ │ ├── icons
│ │ │ ├── icon_advanced_search.svg
│ │ │ ├── icon_bitcoin.svg
│ │ │ ├── icon_canya.svg
│ │ │ ├── icon_copy.svg
│ │ │ ├── icon_edit.svg
│ │ │ ├── icon_ethereum.svg
│ │ │ ├── icon_facebook.svg
│ │ │ ├── icon_facebook_circle.svg
│ │ │ ├── icon_facebook_white.svg
│ │ │ ├── icon_github.svg
│ │ │ ├── icon_googleplus_circle.svg
│ │ │ ├── icon_googleplus_white.svg
│ │ │ ├── icon_like_selected.svg
│ │ │ ├── icon_like_unselected.svg
│ │ │ ├── icon_lock.svg
│ │ │ ├── icon_mail.svg
│ │ │ ├── icon_person.svg
│ │ │ ├── icon_reddit_circle.svg
│ │ │ ├── icon_reddit_white.svg
│ │ │ ├── icon_search.svg
│ │ │ ├── icon_timestamp.svg
│ │ │ ├── icon_trash.svg
│ │ │ ├── icon_twitter.svg
│ │ │ ├── icon_twitter_circle.svg
│ │ │ └── icon_twitter_white.svg
│ │ ├── logos.ai
│ │ ├── logos
│ │ │ ├── alternate.svg
│ │ │ ├── main.svg
│ │ │ └── metamask-logo.svg
│ │ ├── paypal.png
│ │ ├── thumbsup-20.png
│ │ ├── thumbsup-32.png
│ │ └── thumbsup.png
│ ├── javascripts
│ │ ├── admin.js.erb
│ │ ├── admin
│ │ │ ├── access_tokens
│ │ │ │ ├── index.html
│ │ │ │ └── index.js
│ │ │ ├── accounts
│ │ │ │ ├── index.html
│ │ │ │ ├── index.js
│ │ │ │ ├── show.html
│ │ │ │ └── show.js
│ │ │ ├── activity_log
│ │ │ │ ├── index.html
│ │ │ │ └── index.js
│ │ │ ├── ad_spaces
│ │ │ │ ├── edit.html
│ │ │ │ ├── edit.js
│ │ │ │ ├── index.html
│ │ │ │ ├── index.js
│ │ │ │ ├── new.html
│ │ │ │ └── new.js
│ │ │ ├── api.js
│ │ │ ├── app.js
│ │ │ ├── auth
│ │ │ │ ├── auth.html
│ │ │ │ └── auth.js
│ │ │ ├── bounties
│ │ │ │ ├── index.html
│ │ │ │ ├── index.js
│ │ │ │ ├── show.html
│ │ │ │ ├── show.js
│ │ │ │ ├── unacknowledged.html
│ │ │ │ └── unacknowledged.js
│ │ │ ├── bounty_claims
│ │ │ │ ├── index.html
│ │ │ │ ├── index.js
│ │ │ │ ├── index_priority.html
│ │ │ │ ├── index_priority.js
│ │ │ │ ├── partials
│ │ │ │ │ ├── claims_table.html
│ │ │ │ │ ├── nav_tabs.html
│ │ │ │ │ └── nav_tabs.js
│ │ │ │ ├── show.html
│ │ │ │ └── show.js
│ │ │ ├── bounty_searches
│ │ │ │ ├── index.html
│ │ │ │ └── index.js
│ │ │ ├── cash_outs
│ │ │ │ ├── directives
│ │ │ │ │ ├── cashOutTable.html
│ │ │ │ │ └── cashOutTable.js
│ │ │ │ ├── pending.html
│ │ │ │ ├── pending.js
│ │ │ │ ├── sent.html
│ │ │ │ └── sent.js
│ │ │ ├── crypto_pay_outs
│ │ │ │ ├── directives
│ │ │ │ │ ├── cryptoPayOutTable.html
│ │ │ │ │ └── cryptoPayOutTable.js
│ │ │ │ ├── pending.html
│ │ │ │ ├── pending.js
│ │ │ │ ├── processing.html
│ │ │ │ ├── processing.js
│ │ │ │ ├── sent.html
│ │ │ │ └── sent.js
│ │ │ ├── delayed_jobs
│ │ │ │ ├── index.html
│ │ │ │ ├── index.js
│ │ │ │ └── partials
│ │ │ │ │ └── job_modal.html
│ │ │ ├── developer_goals
│ │ │ │ ├── index.html
│ │ │ │ └── index.js
│ │ │ ├── directives.js
│ │ │ ├── events
│ │ │ │ ├── _table.html
│ │ │ │ ├── index.html
│ │ │ │ └── index.js
│ │ │ ├── filters.js
│ │ │ ├── follows
│ │ │ │ ├── index.html
│ │ │ │ └── index.js
│ │ │ ├── fundraisers
│ │ │ │ ├── index.html
│ │ │ │ ├── index.js
│ │ │ │ ├── show.html.erb
│ │ │ │ └── show.js
│ │ │ ├── github_api_errors
│ │ │ │ ├── index.html
│ │ │ │ └── index.js
│ │ │ ├── home
│ │ │ │ ├── home.js
│ │ │ │ ├── login.html
│ │ │ │ ├── login.js
│ │ │ │ ├── search.js
│ │ │ │ └── search_results.html.erb
│ │ │ ├── issue_addresses
│ │ │ │ ├── index.html
│ │ │ │ ├── index.js
│ │ │ │ ├── show.html
│ │ │ │ └── show.js
│ │ │ ├── issues
│ │ │ │ ├── closed.html
│ │ │ │ ├── controllers
│ │ │ │ │ ├── closed.js
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── nav_tabs.js
│ │ │ │ │ ├── open.js
│ │ │ │ │ ├── paid_out.js
│ │ │ │ │ └── show.js
│ │ │ │ ├── index.html
│ │ │ │ ├── open.html
│ │ │ │ ├── paid_out.html
│ │ │ │ ├── paid_out.js
│ │ │ │ ├── partials
│ │ │ │ │ ├── issue_table.html
│ │ │ │ │ └── nav_tabs.html
│ │ │ │ └── show.html
│ │ │ ├── kpi
│ │ │ │ ├── kpi.html
│ │ │ │ ├── kpi.js
│ │ │ │ ├── new_kpi.html
│ │ │ │ └── new_kpi.js
│ │ │ ├── layout
│ │ │ │ ├── navbar.html.erb
│ │ │ │ ├── navbar.js
│ │ │ │ └── not_found.html
│ │ │ ├── main.js
│ │ │ ├── newsletters
│ │ │ │ ├── newsletters.html.erb
│ │ │ │ └── newsletters.js
│ │ │ ├── orders
│ │ │ │ ├── show.html
│ │ │ │ └── show.js
│ │ │ ├── people
│ │ │ │ ├── _show_tabs.html
│ │ │ │ ├── celebrities.html
│ │ │ │ ├── celebrities.js
│ │ │ │ ├── index.html
│ │ │ │ ├── index.js
│ │ │ │ ├── show.js
│ │ │ │ ├── show_bounties.html
│ │ │ │ ├── show_events.html
│ │ │ │ ├── show_financial.html
│ │ │ │ ├── show_info.html
│ │ │ │ ├── show_misc.html
│ │ │ │ ├── show_salt.html
│ │ │ │ └── show_team_payins.html
│ │ │ ├── pledges
│ │ │ │ ├── index.html
│ │ │ │ ├── index.js
│ │ │ │ ├── show.html
│ │ │ │ └── show.js
│ │ │ ├── plugins
│ │ │ │ ├── index.html
│ │ │ │ └── index.js
│ │ │ ├── reports
│ │ │ │ ├── accounts.html
│ │ │ │ ├── accounts.js
│ │ │ │ ├── directives.js
│ │ │ │ ├── partials
│ │ │ │ │ ├── header.html
│ │ │ │ │ └── transaction_modal.html
│ │ │ │ ├── paypal.html
│ │ │ │ ├── paypal.js
│ │ │ │ ├── reports.html
│ │ │ │ ├── reports.js
│ │ │ │ └── templates
│ │ │ │ │ ├── escrowReport.html
│ │ │ │ │ └── liabilityReport.html
│ │ │ ├── request_for_proposal
│ │ │ │ ├── rfp.html
│ │ │ │ └── rfp.js
│ │ │ ├── searches
│ │ │ │ ├── searches.html
│ │ │ │ └── searches.js
│ │ │ ├── services.js
│ │ │ ├── shorts
│ │ │ │ ├── index.html
│ │ │ │ └── index.js
│ │ │ ├── sidebar
│ │ │ │ ├── sidebar.html
│ │ │ │ └── sidebar.js
│ │ │ ├── signin
│ │ │ │ ├── callback.js
│ │ │ │ ├── reset.js
│ │ │ │ └── signin.js
│ │ │ ├── solutions
│ │ │ │ ├── index.html
│ │ │ │ └── index.js
│ │ │ ├── tags
│ │ │ │ ├── show.html
│ │ │ │ └── show.js
│ │ │ ├── takedowns
│ │ │ │ ├── index.html
│ │ │ │ └── index.js
│ │ │ ├── team_claims
│ │ │ │ ├── index.html
│ │ │ │ └── index.js
│ │ │ ├── team_payins
│ │ │ │ ├── index.html
│ │ │ │ ├── index.js
│ │ │ │ ├── show.html
│ │ │ │ └── show.js
│ │ │ ├── teams
│ │ │ │ ├── index.html.erb
│ │ │ │ ├── index.js
│ │ │ │ ├── show.html.erb
│ │ │ │ └── show.js
│ │ │ ├── tracker_merges
│ │ │ │ ├── index.html
│ │ │ │ └── index.js
│ │ │ ├── trackers
│ │ │ │ ├── index.html
│ │ │ │ ├── index.js
│ │ │ │ ├── show.html
│ │ │ │ └── show.js
│ │ │ └── transactions
│ │ │ │ ├── edit.html
│ │ │ │ ├── edit.js
│ │ │ │ ├── index.html
│ │ │ │ ├── index.js
│ │ │ │ ├── index_unaudited.html
│ │ │ │ ├── index_unaudited.js
│ │ │ │ ├── new.html
│ │ │ │ ├── new.js
│ │ │ │ ├── new_bank_transfer.html
│ │ │ │ ├── new_bank_transfer.js
│ │ │ │ ├── new_cash_out.html
│ │ │ │ ├── new_cash_out.js
│ │ │ │ ├── partials
│ │ │ │ ├── transaction_form.html
│ │ │ │ └── transaction_form.js
│ │ │ │ ├── show.html
│ │ │ │ └── show.js
│ │ ├── app.js.erb
│ │ ├── app
│ │ │ ├── about
│ │ │ │ ├── fees.html
│ │ │ │ ├── learn.html
│ │ │ │ ├── privacy_policy.html
│ │ │ │ ├── static.js
│ │ │ │ ├── stats.html
│ │ │ │ ├── stats.js
│ │ │ │ └── terms.html
│ │ │ ├── activity
│ │ │ │ ├── activity.js
│ │ │ │ ├── bounties.html.erb
│ │ │ │ ├── bounties.js
│ │ │ │ ├── bounty_claims.html
│ │ │ │ ├── bounty_claims.js
│ │ │ │ ├── cashOuts
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── new.html
│ │ │ │ │ ├── new.js
│ │ │ │ │ └── new
│ │ │ │ │ │ ├── mailingAddress.js
│ │ │ │ │ │ ├── paymentMethod.js
│ │ │ │ │ │ └── permanentAddress.js
│ │ │ │ ├── crypto_bounties.html.erb
│ │ │ │ ├── crypto_bounties.js
│ │ │ │ ├── crypto_pay_outs.html
│ │ │ │ ├── crypto_pay_outs.js
│ │ │ │ ├── pacts.html
│ │ │ │ ├── pacts.js
│ │ │ │ ├── templates
│ │ │ │ │ ├── navTabs.html
│ │ │ │ │ └── navTabs.js
│ │ │ │ ├── timeline.html
│ │ │ │ └── timeline.js
│ │ │ ├── app.js
│ │ │ ├── auth
│ │ │ │ ├── auth.html
│ │ │ │ └── auth.js
│ │ │ ├── bounties
│ │ │ │ ├── search.html.erb
│ │ │ │ └── search.js
│ │ │ ├── crypto_dep_bundle.js
│ │ │ ├── directives
│ │ │ │ └── issues
│ │ │ │ │ ├── backersTab
│ │ │ │ │ ├── backersTab.html.haml
│ │ │ │ │ └── backersTab.js
│ │ │ │ │ ├── teamAboutPanel
│ │ │ │ │ ├── teamAboutPanel.html.haml
│ │ │ │ │ └── teamAboutPanel.js
│ │ │ │ │ └── updatesTab
│ │ │ │ │ ├── updatesTab.html.haml
│ │ │ │ │ └── updatesTab.js
│ │ │ ├── env.js
│ │ │ ├── extension
│ │ │ │ ├── index.html.erb
│ │ │ │ └── index.js
│ │ │ ├── google_analytics.js
│ │ │ ├── home
│ │ │ │ ├── landing_page.html.erb
│ │ │ │ ├── landing_page.js
│ │ │ │ ├── post_bounty_modal.html
│ │ │ │ ├── search.html
│ │ │ │ ├── search.js
│ │ │ │ ├── timeline.html.erb
│ │ │ │ └── timeline.js
│ │ │ ├── issues
│ │ │ │ ├── _payment_method.html
│ │ │ │ ├── _show_backer_box.html.haml
│ │ │ │ ├── _show_developer_actions.html.haml
│ │ │ │ ├── _show_hunter_box.html.haml
│ │ │ │ ├── developers.js
│ │ │ │ ├── index.html
│ │ │ │ ├── index.js
│ │ │ │ ├── show.html.haml
│ │ │ │ ├── show.js
│ │ │ │ ├── templates
│ │ │ │ │ ├── breadcrumb.html
│ │ │ │ │ ├── contribute_accordian.html.haml
│ │ │ │ │ ├── crypto_form.html.haml
│ │ │ │ │ ├── crypto_form_with_qr.html.haml
│ │ │ │ │ ├── options
│ │ │ │ │ │ ├── expiration_down.html
│ │ │ │ │ │ ├── expiration_up.html
│ │ │ │ │ │ ├── promotion.html
│ │ │ │ │ │ └── upon_expiration.html
│ │ │ │ │ └── usd_form.html.haml
│ │ │ │ ├── test.html
│ │ │ │ ├── thumbs.html
│ │ │ │ └── thumbs.js
│ │ │ ├── layout
│ │ │ │ ├── footer.html.erb
│ │ │ │ ├── layout.js
│ │ │ │ ├── navbar.html.erb
│ │ │ │ ├── navbar.js
│ │ │ │ ├── notFound.html
│ │ │ │ └── templates
│ │ │ │ │ ├── devToolsModal.html
│ │ │ │ │ ├── footerCompany.html
│ │ │ │ │ ├── footerContactUs.html
│ │ │ │ │ ├── footerLegal.html
│ │ │ │ │ └── footerPullRequests.html
│ │ │ ├── legacy_route.js
│ │ │ ├── mixpanel.js
│ │ │ ├── notifications
│ │ │ │ ├── unsubscribe.html
│ │ │ │ └── unsubscribe.js
│ │ │ ├── orders
│ │ │ │ ├── index.html
│ │ │ │ ├── index.js
│ │ │ │ ├── share.html.erb
│ │ │ │ ├── show.html.erb
│ │ │ │ └── show.js
│ │ │ ├── pacts
│ │ │ │ ├── create
│ │ │ │ │ ├── create-pact-controller.js
│ │ │ │ │ ├── create-pact.html.erb
│ │ │ │ │ └── templates
│ │ │ │ │ │ ├── anon-img.html.haml
│ │ │ │ │ │ ├── current-person-img.html.haml
│ │ │ │ │ │ └── payment-form.html
│ │ │ │ └── single-pact
│ │ │ │ │ ├── single-pact-controller.js
│ │ │ │ │ └── single-pact.html.haml
│ │ │ ├── people
│ │ │ │ ├── activity.html.erb
│ │ │ │ ├── activity.js
│ │ │ │ └── templates
│ │ │ │ │ └── header.html
│ │ │ ├── press
│ │ │ │ ├── index.html
│ │ │ │ └── index.js
│ │ │ ├── settings
│ │ │ │ ├── accounts.html
│ │ │ │ ├── accounts.js
│ │ │ │ ├── profile.html
│ │ │ │ ├── profile.js
│ │ │ │ ├── tabs.html
│ │ │ │ └── tabs.js
│ │ │ ├── signin
│ │ │ │ ├── callback.html
│ │ │ │ ├── callback.js
│ │ │ │ ├── reset.html
│ │ │ │ ├── reset.js
│ │ │ │ ├── signin.html
│ │ │ │ ├── signin.js.erb
│ │ │ │ ├── verify.html
│ │ │ │ ├── verify.js
│ │ │ │ ├── verify_email.html
│ │ │ │ └── verify_email.js
│ │ │ ├── teams
│ │ │ │ ├── _new_team_request_invite.html
│ │ │ │ ├── _share_badge.html
│ │ │ │ ├── _tags.html
│ │ │ │ ├── _team_table.html.haml
│ │ │ │ ├── backers.html
│ │ │ │ ├── base.js
│ │ │ │ ├── bounties.html
│ │ │ │ ├── bounties.js
│ │ │ │ ├── fundraiser.html
│ │ │ │ ├── fundraiser.js
│ │ │ │ ├── index.html
│ │ │ │ ├── index.js
│ │ │ │ ├── issue_suggestions
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── new.html
│ │ │ │ │ └── new.js
│ │ │ │ ├── issues.html.erb
│ │ │ │ ├── issues.js
│ │ │ │ ├── join.html
│ │ │ │ ├── join.js
│ │ │ │ ├── manage_members.html
│ │ │ │ ├── manage_members.js
│ │ │ │ ├── manage_projects.html
│ │ │ │ ├── manage_projects.js
│ │ │ │ ├── members.html
│ │ │ │ ├── new.html.erb
│ │ │ │ ├── new.js
│ │ │ │ ├── rewards.html
│ │ │ │ ├── rewards.js
│ │ │ │ ├── settings.html
│ │ │ │ ├── settings.js
│ │ │ │ ├── show.html.haml
│ │ │ │ ├── show.js
│ │ │ │ ├── suggested_issues.html
│ │ │ │ ├── suggested_issues.js
│ │ │ │ ├── tagged.html.haml
│ │ │ │ ├── tagged.js
│ │ │ │ ├── team_badge_controller.js
│ │ │ │ ├── team_badge_modal.html
│ │ │ │ ├── teams.js
│ │ │ │ ├── update.html
│ │ │ │ ├── update.js
│ │ │ │ ├── update_new.html
│ │ │ │ ├── update_new.js
│ │ │ │ ├── updates.html
│ │ │ │ └── updates.js
│ │ │ ├── tools
│ │ │ │ ├── all.html
│ │ │ │ ├── base.js
│ │ │ │ ├── installed.html
│ │ │ │ ├── installed.js
│ │ │ │ └── templates
│ │ │ │ │ ├── header.html
│ │ │ │ │ ├── info.html.erb
│ │ │ │ │ ├── plugin_settings.html
│ │ │ │ │ ├── tabs.html
│ │ │ │ │ └── trackers.html
│ │ │ └── trackers
│ │ │ │ ├── _tracker_header.html
│ │ │ │ ├── index.html
│ │ │ │ ├── index.js
│ │ │ │ ├── nav_tabs.js
│ │ │ │ ├── show.html.erb
│ │ │ │ ├── show.js
│ │ │ │ ├── templates
│ │ │ │ ├── nav_tabs.html
│ │ │ │ └── tracker_badge_modal.html
│ │ │ │ └── tracker_badge_controller.js
│ │ ├── common
│ │ │ ├── angularTypeaheadOverride.js
│ │ │ ├── constants
│ │ │ │ ├── countries.js
│ │ │ │ ├── defaultRouteOptions.js
│ │ │ │ ├── personResolver.js
│ │ │ │ └── usStates.js
│ │ │ ├── directives
│ │ │ │ ├── abRandomize
│ │ │ │ │ └── abRandomize.js
│ │ │ │ ├── activityTimeline
│ │ │ │ │ ├── activityTimeline.html
│ │ │ │ │ └── activityTimeline.js
│ │ │ │ ├── addressForm
│ │ │ │ │ ├── addressFormInputGroups.html
│ │ │ │ │ └── addressFormInputGroups.js
│ │ │ │ ├── addressSelect
│ │ │ │ │ ├── addressSelect.html
│ │ │ │ │ └── addressSelect.js
│ │ │ │ ├── backerList
│ │ │ │ │ ├── backerList.html
│ │ │ │ │ └── backerList.js
│ │ │ │ ├── backerThumbnails
│ │ │ │ │ ├── backerThumbnails.html.erb
│ │ │ │ │ └── backerThumbnails.js
│ │ │ │ ├── claimContent
│ │ │ │ │ ├── claimContent.html
│ │ │ │ │ └── claimContent.js
│ │ │ │ ├── favicon
│ │ │ │ │ ├── favicon.html
│ │ │ │ │ └── favicon.js
│ │ │ │ ├── formattedAddress
│ │ │ │ │ ├── formattedAddress.html
│ │ │ │ │ └── formattedAddress.js
│ │ │ │ ├── fundraiserEditForm
│ │ │ │ │ ├── fundraiserEditForm.html
│ │ │ │ │ └── fundraiserEditForm.js
│ │ │ │ ├── fundraiserSideBar
│ │ │ │ │ ├── fundraiserSideBar.html
│ │ │ │ │ └── fundraiserSideBar.js
│ │ │ │ ├── fundraiserTemplate
│ │ │ │ │ ├── fundraiserTemplate.html.erb
│ │ │ │ │ └── fundraiserTemplate.js
│ │ │ │ ├── fundraiserTweetButton
│ │ │ │ │ ├── fundraiserTweetButton.html
│ │ │ │ │ └── fundraiserTweetButton.js
│ │ │ │ ├── infoSpace
│ │ │ │ │ ├── infoSpace.html.erb
│ │ │ │ │ └── infoSpace.js
│ │ │ │ ├── inputSlug
│ │ │ │ │ └── inputSlug.js
│ │ │ │ ├── integerOnly
│ │ │ │ │ └── integerOnly.js
│ │ │ │ ├── issueCard
│ │ │ │ │ ├── issueCard.html.erb
│ │ │ │ │ └── issueCard.js
│ │ │ │ ├── issueList
│ │ │ │ │ ├── issueList.html
│ │ │ │ │ └── issueList.js
│ │ │ │ ├── issueStatusLabel
│ │ │ │ │ ├── issueStatusLabel.html
│ │ │ │ │ └── issueStatusLabel.js
│ │ │ │ ├── loadingBar
│ │ │ │ │ ├── loadingBar.html
│ │ │ │ │ └── loadingBar.js
│ │ │ │ ├── nameForExternalLink
│ │ │ │ │ ├── nameForExternalLink.html.haml
│ │ │ │ │ └── nameForExternalLink.js
│ │ │ │ ├── navElement
│ │ │ │ │ ├── navElement.html
│ │ │ │ │ └── navElement.js
│ │ │ │ ├── ngAutofillAware
│ │ │ │ │ └── ngAutofillAware.js
│ │ │ │ ├── ngClickRequireAuth
│ │ │ │ │ └── ngClickRequireAuth.js
│ │ │ │ ├── ngFocus
│ │ │ │ │ └── ngFocus.js
│ │ │ │ ├── onFinishRender
│ │ │ │ │ └── onFinishRender.js
│ │ │ │ ├── ownerHref
│ │ │ │ │ └── ownerHref.js
│ │ │ │ ├── personIcon
│ │ │ │ │ ├── personIcon.html
│ │ │ │ │ └── personIcon.js
│ │ │ │ ├── profileName
│ │ │ │ │ ├── profileName.html.haml
│ │ │ │ │ └── profileName.js
│ │ │ │ ├── profilePic
│ │ │ │ │ ├── profilePic.html.haml
│ │ │ │ │ └── profilePic.js
│ │ │ │ ├── recommendationBox
│ │ │ │ │ ├── recommendationBox.html.haml
│ │ │ │ │ └── recommendationBox.js
│ │ │ │ ├── requireGithubAuth
│ │ │ │ │ └── requireGithubAuth.js
│ │ │ │ ├── requireGplus
│ │ │ │ │ └── requireGplus.js
│ │ │ │ ├── requireTwitter
│ │ │ │ │ └── requireTwitter.js
│ │ │ │ ├── selectOnClick
│ │ │ │ │ └── selectOnClick.js
│ │ │ │ ├── shareBadge
│ │ │ │ │ ├── issue_badge_modal.html
│ │ │ │ │ ├── shareBadge.html
│ │ │ │ │ └── shareBadge.js
│ │ │ │ ├── shareButton
│ │ │ │ │ ├── shareButton.html.erb
│ │ │ │ │ └── shareButton.js
│ │ │ │ ├── signalIcon
│ │ │ │ │ ├── signalIcon.html
│ │ │ │ │ └── signalIcon.js
│ │ │ │ ├── takedown
│ │ │ │ │ ├── takedown.html
│ │ │ │ │ └── takedown.js
│ │ │ │ ├── targetBlank
│ │ │ │ │ └── targetBlank.js
│ │ │ │ ├── teamBadge
│ │ │ │ │ └── teamBadge.js
│ │ │ │ ├── teamForm
│ │ │ │ │ ├── teamForm.html
│ │ │ │ │ └── teamForm.js
│ │ │ │ ├── teamView
│ │ │ │ │ ├── tag_autocomplete.html.haml
│ │ │ │ │ ├── teamView.html.erb
│ │ │ │ │ └── teamView.js
│ │ │ │ ├── thumbnailLinks
│ │ │ │ │ ├── thumbnailLinks.html.erb
│ │ │ │ │ └── thumbnailLinks.js
│ │ │ │ ├── thumbsUpBox
│ │ │ │ │ ├── thumbsUpBox.html.haml
│ │ │ │ │ └── thumbsUpBox.js
│ │ │ │ ├── timeDifference
│ │ │ │ │ ├── timeDifference.html
│ │ │ │ │ └── timeDifference.js
│ │ │ │ ├── timeline
│ │ │ │ │ ├── timeline.html.erb
│ │ │ │ │ ├── timeline.js
│ │ │ │ │ ├── timelineSmall.html.erb
│ │ │ │ │ └── timelineSmall.js
│ │ │ │ └── updateList
│ │ │ │ │ ├── updateList.html
│ │ │ │ │ └── updateList.js
│ │ │ ├── factories
│ │ │ │ ├── Badge.js
│ │ │ │ ├── IssueBadge.js
│ │ │ │ ├── NavTab.js
│ │ │ │ ├── Pagination.js
│ │ │ │ ├── TeamBadge.js
│ │ │ │ ├── TeamBadgeBountiesPosted.js
│ │ │ │ ├── TeamBadgeBountiesReceived.js
│ │ │ │ ├── TeamBadgeRaised.js
│ │ │ │ ├── TrackerBadge.js
│ │ │ │ ├── Web3.js
│ │ │ │ └── addressManager
│ │ │ │ │ └── addressManager.js
│ │ │ ├── filters
│ │ │ │ ├── atLeast.js
│ │ │ │ ├── atMost.js
│ │ │ │ ├── cleanUrl.js
│ │ │ │ ├── currencyUnit.js
│ │ │ │ ├── dollars.js
│ │ │ │ ├── emptyFilter.js
│ │ │ │ ├── encodeEntities.js
│ │ │ │ ├── encodeUriQuery.js
│ │ │ │ ├── fromSnakeCase.js
│ │ │ │ ├── fundraiserStatus.js
│ │ │ │ ├── hex.js
│ │ │ │ ├── orderObjectBy.js
│ │ │ │ ├── percent.js
│ │ │ │ ├── pluck.js
│ │ │ │ ├── proposalStatus.js
│ │ │ │ ├── round.js
│ │ │ │ ├── shuffle.js
│ │ │ │ ├── slice.js
│ │ │ │ ├── slug.js
│ │ │ │ ├── timeAgoShort.js
│ │ │ │ ├── timeDiff.js
│ │ │ │ ├── timeLeftInWords.js
│ │ │ │ ├── title.js
│ │ │ │ ├── truncate.js
│ │ │ │ ├── trustedHtml.js
│ │ │ │ └── unique.js
│ │ │ ├── providers
│ │ │ │ ├── currentPersonResolver.js
│ │ │ │ └── featureProvider.js
│ │ │ ├── resources
│ │ │ │ ├── Person.js
│ │ │ │ ├── Proposal.js
│ │ │ │ ├── Stat.js
│ │ │ │ ├── Team.js
│ │ │ │ ├── Timeline.js
│ │ │ │ ├── Wallet.js
│ │ │ │ ├── bounties.js
│ │ │ │ ├── bounty_claim.js
│ │ │ │ ├── comments.js
│ │ │ │ ├── developer_goal.js
│ │ │ │ ├── issue.js
│ │ │ │ ├── payment_method.js
│ │ │ │ ├── recommendation.js
│ │ │ │ ├── request_for_proposal.js
│ │ │ │ ├── solution.js
│ │ │ │ ├── tag.js
│ │ │ │ ├── thumb.js
│ │ │ │ └── tracker.js
│ │ │ ├── routes.js
│ │ │ ├── services
│ │ │ │ ├── addresses.js
│ │ │ │ ├── api.js.erb
│ │ │ │ ├── gplus.js
│ │ │ │ ├── pageTitle.js
│ │ │ │ ├── teams.js
│ │ │ │ └── twttr.js
│ │ │ ├── templates
│ │ │ │ ├── hunterBoxModal.html.erb
│ │ │ │ ├── issueAddressQrModal.html.erb
│ │ │ │ ├── metamaskModal.html.erb
│ │ │ │ ├── trackerPluginAuthorizeModal.html
│ │ │ │ └── trackerSigninModal.html.erb
│ │ │ ├── trackerPluginAuthorizeModal.js
│ │ │ └── trackerSigninModal.js
│ │ ├── lib
│ │ │ ├── angular-qrcode.js
│ │ │ ├── api_config.js
│ │ │ ├── cookie_jar.js
│ │ │ ├── cookie_jar_config.js
│ │ │ ├── elastic-textarea.js
│ │ │ ├── markdown.js
│ │ │ ├── ng-click-copy.js
│ │ │ ├── qr_code.js
│ │ │ └── qrcode_UTF8.js
│ │ ├── salt.js.erb
│ │ └── salt
│ │ │ ├── api.js
│ │ │ ├── app.js
│ │ │ ├── auth.js
│ │ │ ├── checkout
│ │ │ ├── _amount.html.erb
│ │ │ ├── _display.html.erb
│ │ │ ├── amount.html.erb
│ │ │ ├── amount.js
│ │ │ ├── base.js
│ │ │ ├── display.html.erb
│ │ │ ├── display.js
│ │ │ ├── one_time_payment.html.erb
│ │ │ ├── one_time_payment.js
│ │ │ ├── payment.html.erb
│ │ │ └── payment.js
│ │ │ ├── directives
│ │ │ ├── target_blank.js
│ │ │ ├── thumbs_up_box.html.haml
│ │ │ └── thumbs_up_box.js
│ │ │ ├── env.js
│ │ │ ├── filters.js
│ │ │ ├── google_analytics.js
│ │ │ ├── home
│ │ │ ├── activity.html
│ │ │ ├── activity.js
│ │ │ ├── base.html.erb
│ │ │ ├── base.js
│ │ │ ├── home_search.js
│ │ │ ├── teams.html
│ │ │ ├── teams.js
│ │ │ ├── teams_list.html
│ │ │ ├── teams_list.js
│ │ │ ├── updates.html
│ │ │ └── updates.js
│ │ │ ├── issues
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ │ ├── layout
│ │ │ ├── error.html
│ │ │ ├── error.js
│ │ │ ├── footer.html.erb
│ │ │ ├── layout.html
│ │ │ ├── layout.js
│ │ │ ├── navbar.html.erb
│ │ │ └── navbar.js
│ │ │ ├── session
│ │ │ ├── _buttons.html.erb
│ │ │ ├── _buttons.js
│ │ │ ├── base.js
│ │ │ ├── login.html
│ │ │ ├── login.js
│ │ │ ├── password_reset.html
│ │ │ ├── password_reset.js
│ │ │ ├── signup.html
│ │ │ └── signup.js
│ │ │ ├── settings
│ │ │ ├── base.html
│ │ │ ├── base.js
│ │ │ ├── payment_methods.html
│ │ │ └── payment_methods.js
│ │ │ ├── support_levels
│ │ │ ├── _destroy.html
│ │ │ ├── base.js
│ │ │ ├── index.html
│ │ │ ├── index.js
│ │ │ ├── show.html.erb
│ │ │ └── show.js
│ │ │ ├── teams
│ │ │ ├── _home_tab.html
│ │ │ ├── _support_header.html
│ │ │ ├── _support_header_box.html.erb
│ │ │ ├── _support_header_supporters.html
│ │ │ ├── _support_header_title.html
│ │ │ ├── _tabs.html.erb
│ │ │ ├── admin
│ │ │ │ ├── _tabs.html
│ │ │ │ ├── base.html
│ │ │ │ ├── base.js
│ │ │ │ ├── general.html
│ │ │ │ ├── general.js
│ │ │ │ ├── goals.html.erb
│ │ │ │ ├── goals.js
│ │ │ │ ├── rewards.html.erb
│ │ │ │ ├── rewards.js
│ │ │ │ ├── supporters.html
│ │ │ │ ├── supporters.js
│ │ │ │ └── updates
│ │ │ │ │ ├── base.js
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── new.html
│ │ │ │ │ └── new.js
│ │ │ ├── base.js
│ │ │ ├── not_activated.html.erb
│ │ │ ├── not_activated.js
│ │ │ ├── show.html
│ │ │ ├── show.js
│ │ │ ├── supporters.html
│ │ │ ├── supporters.js
│ │ │ └── updates
│ │ │ │ ├── base.js
│ │ │ │ ├── index.js
│ │ │ │ ├── show.html
│ │ │ │ └── show.js
│ │ │ └── title.js
│ └── stylesheets
│ │ ├── admin.css.erb
│ │ ├── admin
│ │ ├── base.css
│ │ ├── bounty_claims.css
│ │ ├── companies.css
│ │ ├── fundraisers.css
│ │ ├── home.css
│ │ ├── issues.css
│ │ ├── kpi.css
│ │ ├── layout.css
│ │ ├── people.css
│ │ ├── search.css
│ │ └── signin.css
│ │ ├── bountysource.css.erb
│ │ ├── bountysource
│ │ ├── about.css
│ │ ├── alerts.css
│ │ ├── bounty_claims.css
│ │ ├── breadcrumbs.css
│ │ ├── buttons.scss
│ │ ├── cards.scss
│ │ ├── chatroom.css
│ │ ├── companies.css
│ │ ├── custom-grid.css
│ │ ├── forms.scss
│ │ ├── fundraisers.css
│ │ ├── home.css
│ │ ├── issues.css
│ │ ├── labels.css
│ │ ├── landing_page
│ │ │ ├── _issue_card.scss
│ │ │ ├── _post_bounty_modal.scss
│ │ │ ├── _search_form.scss
│ │ │ ├── _sidebar.scss
│ │ │ ├── _timeline_small.scss
│ │ │ └── landing_page.scss
│ │ ├── layout.css
│ │ ├── learn.css
│ │ ├── markdown.css
│ │ ├── modal.css
│ │ ├── navbar.css
│ │ ├── navs.css
│ │ ├── panels.scss
│ │ ├── people.css
│ │ ├── pills.css
│ │ ├── progress-bar.css
│ │ ├── search.css
│ │ ├── settings.css
│ │ ├── signin.scss
│ │ ├── table.css
│ │ ├── teams.css
│ │ ├── thumbs.scss
│ │ ├── timeline.css
│ │ ├── tools.css
│ │ ├── trackers.css
│ │ └── utilities.css
│ │ ├── salt.scss
│ │ └── salt
│ │ ├── app
│ │ ├── angular-ui.scss
│ │ ├── checkout.scss
│ │ ├── footer.scss
│ │ ├── forms.scss
│ │ ├── home.scss
│ │ ├── issues.scss
│ │ ├── layout.scss
│ │ ├── markdown.scss
│ │ ├── navbar.scss
│ │ ├── navs.scss
│ │ ├── sessions.scss
│ │ ├── tables.scss
│ │ ├── teams.scss
│ │ ├── thumbs.scss
│ │ ├── timeline.scss
│ │ └── utilities.scss
│ │ ├── base.scss
│ │ ├── bootstrap-custom-utilities.scss
│ │ └── bootstrap-overrides.scss
├── controllers
│ ├── admin_controller.rb
│ ├── api
│ │ ├── base_controller.rb
│ │ ├── v0
│ │ │ ├── accounts
│ │ │ │ ├── personal_controller.rb
│ │ │ │ └── set_override_fees_controller.rb
│ │ │ ├── accounts_controller.rb
│ │ │ ├── activity_logs_controller.rb
│ │ │ ├── base_controller.rb
│ │ │ ├── bounties_controller.rb
│ │ │ ├── bounty_claims
│ │ │ │ └── force_collects_controller.rb
│ │ │ ├── bounty_claims_controller.rb
│ │ │ ├── cash_outs_controller.rb
│ │ │ ├── crypto_pay_outs
│ │ │ │ └── sends_controller.rb
│ │ │ ├── crypto_pay_outs_controller.rb
│ │ │ ├── delayed_jobs_controller.rb
│ │ │ ├── developer_goals_controller.rb
│ │ │ ├── ethereum_transaction_refunds_controller.rb
│ │ │ ├── events_controller.rb
│ │ │ ├── follow_relations_controller.rb
│ │ │ ├── fundraisers_controller.rb
│ │ │ ├── github
│ │ │ │ └── repositories_controller.rb
│ │ │ ├── home_controller.rb
│ │ │ ├── info_spaces_controller.rb
│ │ │ ├── issue_addresses_controller.rb
│ │ │ ├── issues_controller.rb
│ │ │ ├── payments_controller.rb
│ │ │ ├── people_controller.rb
│ │ │ ├── pledges_controller.rb
│ │ │ ├── report_controller.rb
│ │ │ ├── request_for_proposals_controller.rb
│ │ │ ├── searches_controller.rb
│ │ │ ├── shorts_controller.rb
│ │ │ ├── solutions_controller.rb
│ │ │ ├── splits_controller.rb
│ │ │ ├── tags_controller.rb
│ │ │ ├── takedowns_controller.rb
│ │ │ ├── team_claims_controller.rb
│ │ │ ├── team_payins_controller.rb
│ │ │ ├── teams_controller.rb
│ │ │ ├── tracker_plugins_controller.rb
│ │ │ ├── trackers_controller.rb
│ │ │ └── transactions_controller.rb
│ │ ├── v1
│ │ │ ├── addresses_controller.rb
│ │ │ ├── bounties_controller.rb
│ │ │ ├── bounty_claim_responses_controller.rb
│ │ │ ├── bounty_claims_controller.rb
│ │ │ ├── bulk_controller.rb
│ │ │ ├── delayed_jobs_controller.rb
│ │ │ ├── developer_goals_controller.rb
│ │ │ ├── email_change_verifications_controller.rb
│ │ │ ├── email_verifications_controller.rb
│ │ │ ├── follow_relations_controller.rb
│ │ │ ├── fundraisers_controller.rb
│ │ │ ├── home_controller.rb
│ │ │ ├── info_spaces_controller.rb
│ │ │ ├── issue_addresses_controller.rb
│ │ │ ├── issues
│ │ │ │ ├── crypto_bounties_controller.rb
│ │ │ │ └── reindices_controller.rb
│ │ │ ├── issues_controller.rb
│ │ │ ├── languages_controller.rb
│ │ │ ├── notifications_controller.rb
│ │ │ ├── people_controller.rb
│ │ │ ├── person_relations_controller.rb
│ │ │ ├── pledges_controller.rb
│ │ │ ├── postbacks_controller.rb
│ │ │ ├── projects_controller.rb
│ │ │ ├── rewards_controller.rb
│ │ │ ├── saved_search_tabs_controller.rb
│ │ │ ├── searches_controller.rb
│ │ │ ├── solutions_controller.rb
│ │ │ ├── stats_controller.rb
│ │ │ ├── team_invites_controller.rb
│ │ │ ├── teams_controller.rb
│ │ │ ├── tracker_plugins_controller.rb
│ │ │ ├── tracker_relations_controller.rb
│ │ │ ├── trackers_controller.rb
│ │ │ └── transactions_controller.rb
│ │ └── v2
│ │ │ ├── account_controller.rb
│ │ │ ├── addresses_controller.rb
│ │ │ ├── backers_controller.rb
│ │ │ ├── bounties_controller.rb
│ │ │ ├── bounty_claims_controller.rb
│ │ │ ├── cart_controller.rb
│ │ │ ├── cash_outs_controller.rb
│ │ │ ├── comments_controller.rb
│ │ │ ├── currencies_controller.rb
│ │ │ ├── developer_goals_controller.rb
│ │ │ ├── events_controller.rb
│ │ │ ├── fundraiser_rewards_controller.rb
│ │ │ ├── fundraisers_controller.rb
│ │ │ ├── issue_suggestions_controller.rb
│ │ │ ├── issues_controller.rb
│ │ │ ├── pact_applications_controller.rb
│ │ │ ├── pacts_controller.rb
│ │ │ ├── payment_methods_controller.rb
│ │ │ ├── people_controller.rb
│ │ │ ├── people_trackers_controller.rb
│ │ │ ├── pledges_controller.rb
│ │ │ ├── plugins_controller.rb
│ │ │ ├── recommendations_controller.rb
│ │ │ ├── solutions_controller.rb
│ │ │ ├── stats_controller.rb
│ │ │ ├── support_levels_controller.rb
│ │ │ ├── support_offering_rewards_controller.rb
│ │ │ ├── supporters_controller.rb
│ │ │ ├── tags_controller.rb
│ │ │ ├── team_updates_controller.rb
│ │ │ ├── teams_controller.rb
│ │ │ ├── thumbs_controller.rb
│ │ │ ├── timeline_controller.rb
│ │ │ ├── trackers_controller.rb
│ │ │ ├── wallets
│ │ │ └── set_as_primaries_controller.rb
│ │ │ └── wallets_controller.rb
│ ├── application_controller.rb
│ ├── badge_controller.rb
│ ├── bounty_source_controller.rb
│ ├── coinbase_controller.rb
│ ├── concerns
│ │ ├── currency_conversion.rb
│ │ ├── request_for_proposal_authorization.rb
│ │ └── request_tracking.rb
│ ├── google_wallet_controller.rb
│ ├── payments_controller.rb
│ ├── salt_controller.rb
│ ├── session_controller.rb
│ ├── shorts_controller.rb
│ └── track_controller.rb
├── helpers
│ ├── admin_helper.rb
│ ├── api
│ │ ├── v1
│ │ │ └── home_helper.rb
│ │ └── v2
│ │ │ ├── account_helper.rb
│ │ │ ├── addresses_helper.rb
│ │ │ ├── backers_helper.rb
│ │ │ ├── base_helper.rb
│ │ │ ├── bounties_helper.rb
│ │ │ ├── bounty_claims_helper.rb
│ │ │ ├── cart_helper.rb
│ │ │ ├── cash_outs_helper.rb
│ │ │ ├── developer_goals_helper.rb
│ │ │ ├── fundraiser_rewards_helper.rb
│ │ │ ├── fundraisers_helper.rb
│ │ │ ├── issues_helper.rb
│ │ │ ├── pagination_helper.rb
│ │ │ ├── people_helper.rb
│ │ │ ├── people_trackers_helper.rb
│ │ │ ├── pledges_helper.rb
│ │ │ ├── plugins_helper.rb
│ │ │ ├── solutions_helper.rb
│ │ │ ├── timeline_helper.rb
│ │ │ └── trackers_helper.rb
│ ├── bounty_source_helper.rb
│ ├── issue_link_helper.rb
│ ├── issue_meta_tags_helper.rb
│ ├── number_to_dollars_helper.rb
│ ├── owner_link_helper.rb
│ ├── pacts_helper.rb
│ ├── team_link_helper.rb
│ └── tracker_link_helper.rb
├── mailers
│ ├── mailer.rb
│ └── mailer_scheduler.rb
├── models
│ ├── ability.rb
│ ├── access_token.rb
│ ├── account.rb
│ ├── account
│ │ ├── amazon.rb
│ │ ├── apache.rb
│ │ ├── bof_a.rb
│ │ ├── bounty_source_adjustment.rb
│ │ ├── bounty_source_fees_bounty.rb
│ │ ├── bounty_source_fees_payment.rb
│ │ ├── bounty_source_fees_pledge.rb
│ │ ├── bounty_source_fees_team.rb
│ │ ├── bounty_source_merch.rb
│ │ ├── cash_out_hold.rb
│ │ ├── coinbase.rb
│ │ ├── doctors_without_borders.rb
│ │ ├── electronic_frontier_foundation.rb
│ │ ├── free_software_foundation.rb
│ │ ├── fundraiser.rb
│ │ ├── google_wallet.rb
│ │ ├── inactivity_fee.rb
│ │ ├── issue_account.rb
│ │ ├── liability.rb
│ │ ├── payment_method.rb
│ │ ├── paypal.rb
│ │ ├── personal.rb
│ │ ├── repository.rb
│ │ ├── request_for_proposal.rb
│ │ ├── software_public_interest.rb
│ │ └── team.rb
│ ├── activity_log.rb
│ ├── ad_space.rb
│ ├── address.rb
│ ├── admin_stat.rb
│ ├── application_record.rb
│ ├── badge.rb
│ ├── badge
│ │ ├── issue.rb
│ │ ├── team.rb
│ │ ├── team
│ │ │ ├── bounties_posted.rb
│ │ │ ├── bounties_received.rb
│ │ │ └── raised.rb
│ │ └── tracker.rb
│ ├── badge_cache.rb
│ ├── badge_factory.rb
│ ├── bitbucket
│ │ ├── api.rb
│ │ ├── issue.rb
│ │ └── tracker.rb
│ ├── bounty.rb
│ ├── bounty_claim.rb
│ ├── bounty_claim_event.rb
│ ├── bounty_claim_event
│ │ ├── backer_accepted.rb
│ │ ├── backer_dispute_resolved.rb
│ │ ├── backer_disputed.rb
│ │ ├── collected.rb
│ │ └── rejected.rb
│ ├── bounty_claim_response.rb
│ ├── bugzilla
│ │ ├── api.rb
│ │ ├── issue.rb
│ │ └── tracker.rb
│ ├── cash_out.rb
│ ├── cash_out
│ │ ├── bitcoin.rb
│ │ ├── check.rb
│ │ ├── mastercoin.rb
│ │ ├── paypal.rb
│ │ └── ripple.rb
│ ├── coinbase_api.rb
│ ├── comment.rb
│ ├── concerns
│ │ ├── email_verification.rb
│ │ ├── has_account.rb
│ │ ├── has_cloudinary.rb
│ │ ├── has_owner.rb
│ │ └── password_resetable.rb
│ ├── crontab.rb
│ ├── crypto_admin_address.rb
│ ├── crypto_bounty.rb
│ ├── crypto_pay_out.rb
│ ├── crypto_pay_out_claim_event.rb
│ ├── crypto_pay_out_txn.rb
│ ├── currency.rb
│ ├── currency
│ │ ├── bitcoin.rb
│ │ ├── erc20.rb
│ │ └── ethereum.rb
│ ├── developer_goal.rb
│ ├── event.rb
│ ├── follow_relation.rb
│ ├── fundraiser.rb
│ ├── fundraiser_tracker_relation.rb
│ ├── github
│ │ ├── api.rb
│ │ ├── event.rb
│ │ ├── issue.rb
│ │ └── repository.rb
│ ├── github_stargazer.rb
│ ├── gitlab
│ │ ├── api.rb
│ │ ├── issue.rb
│ │ └── tracker.rb
│ ├── google_code
│ │ ├── api.rb
│ │ ├── issue.rb
│ │ └── tracker.rb
│ ├── google_wallet_item.rb
│ ├── issue.rb
│ ├── issue_address.rb
│ ├── issue_rank.rb
│ ├── issue_rank
│ │ ├── linked_account_github.rb
│ │ ├── person.rb
│ │ └── team_rank.rb
│ ├── issue_rank_cache.rb
│ ├── issue_suggestion.rb
│ ├── issue_suggestion_reward.rb
│ ├── jira
│ │ ├── api.rb
│ │ ├── issue.rb
│ │ └── tracker.rb
│ ├── language.rb
│ ├── language_person_relation.rb
│ ├── launchpad
│ │ ├── api.rb
│ │ ├── issue.rb
│ │ └── tracker.rb
│ ├── linked_account
│ │ ├── base.rb
│ │ ├── bitbucket.rb
│ │ ├── facebook.rb
│ │ ├── github.rb
│ │ ├── github
│ │ │ ├── bot.rb
│ │ │ ├── organization.rb
│ │ │ └── user.rb
│ │ ├── gitlab.rb
│ │ └── twitter.rb
│ ├── lurker.rb
│ ├── mantis
│ │ ├── api.rb
│ │ ├── issue.rb
│ │ └── tracker.rb
│ ├── merged_model.rb
│ ├── milestone.rb
│ ├── mixpanel_alias.rb
│ ├── mixpanel_event.rb
│ ├── pact.rb
│ ├── pact_application.rb
│ ├── payment_method.rb
│ ├── payment_method
│ │ ├── paypal_reference_transaction.rb
│ │ └── stripe_credit_card.rb
│ ├── payment_method_temporary.rb
│ ├── payment_notification.rb
│ ├── payment_notification
│ │ ├── balanced_payments.rb
│ │ ├── coinbase.rb
│ │ ├── paypal.rb
│ │ ├── paypal_reference_transaction.rb
│ │ └── stripe_credit_card.rb
│ ├── payment_notification_log.rb
│ ├── paypal_ipn.rb
│ ├── person.rb
│ ├── person_relation
│ │ ├── base.rb
│ │ ├── bounty_source.rb
│ │ ├── facebook.rb
│ │ ├── github.rb
│ │ └── twitter.rb
│ ├── php_tracker
│ │ ├── api.rb
│ │ ├── issue.rb
│ │ └── tracker.rb
│ ├── pivotal
│ │ ├── api.rb
│ │ ├── issue.rb
│ │ └── tracker.rb
│ ├── pledge.rb
│ ├── pledge_survey_response.rb
│ ├── postback.rb
│ ├── proposal.rb
│ ├── public_stat.rb
│ ├── quickbooks_base.rb
│ ├── quickbooks_token.rb
│ ├── quickbooks_transaction.rb
│ ├── quickbooks_vendor.rb
│ ├── recommendation_event.rb
│ ├── request_for_proposal.rb
│ ├── reward.rb
│ ├── savannah
│ │ ├── api.rb
│ │ ├── issue.rb
│ │ └── tracker.rb
│ ├── saved_search_tab.rb
│ ├── search.rb
│ ├── sendgrid.rb
│ ├── sent_email.rb
│ ├── shopping_cart.rb
│ ├── short.rb
│ ├── solution.rb
│ ├── solution_event.rb
│ ├── solution_event
│ │ ├── checked_in.rb
│ │ ├── completed.rb
│ │ ├── started.rb
│ │ └── stopped.rb
│ ├── source_forge
│ │ ├── api.rb
│ │ ├── issue.rb
│ │ └── tracker.rb
│ ├── source_forge_native
│ │ ├── api.rb
│ │ ├── issue.rb
│ │ └── tracker.rb
│ ├── split.rb
│ ├── support_level.rb
│ ├── support_level_payment.rb
│ ├── support_offering.rb
│ ├── support_offering_reward.rb
│ ├── tag.rb
│ ├── tag_relation.rb
│ ├── tag_vote.rb
│ ├── takedown.rb
│ ├── team.rb
│ ├── team_activity_inclusion.rb
│ ├── team_bounty_hunter.rb
│ ├── team_claim.rb
│ ├── team_invite.rb
│ ├── team_member_relation.rb
│ ├── team_payin.rb
│ ├── team_tracker_relation.rb
│ ├── team_update.rb
│ ├── thumb.rb
│ ├── trac
│ │ ├── api.rb
│ │ ├── issue.rb
│ │ └── tracker.rb
│ ├── tracker.rb
│ ├── tracker_donation.rb
│ ├── tracker_language_relation.rb
│ ├── tracker_person_relation.rb
│ ├── tracker_plugin.rb
│ ├── tracker_plugin
│ │ └── gh.rb
│ ├── tracker_plugin_backup.rb
│ ├── tracker_rank_cache.rb
│ ├── tracker_relation.rb
│ ├── tracker_relation
│ │ ├── committer.rb
│ │ ├── organization_member.rb
│ │ └── owner.rb
│ ├── tracker_unknown.rb
│ ├── transaction.rb
│ ├── transaction
│ │ ├── bank_transfer.rb
│ │ ├── cash_out.rb
│ │ ├── cash_out
│ │ │ ├── bank_of_america.rb
│ │ │ ├── google_wallet.rb
│ │ │ └── paypal.rb
│ │ ├── internal_transfer.rb
│ │ ├── internal_transfer
│ │ │ ├── bounty_claim.rb
│ │ │ ├── bounty_refund.rb
│ │ │ ├── deleted_owner.rb
│ │ │ ├── fraud_reclaim.rb
│ │ │ ├── fundraiser_cash_out.rb
│ │ │ ├── inactivity_fee.rb
│ │ │ ├── promotional.rb
│ │ │ └── revenue_recognition.rb
│ │ ├── order.rb
│ │ ├── order
│ │ │ ├── coinbase.rb
│ │ │ ├── google_wallet.rb
│ │ │ ├── internal.rb
│ │ │ └── paypal.rb
│ │ ├── payment.rb
│ │ ├── payment
│ │ │ ├── paypal_reference_transaction.rb
│ │ │ └── stripe_credit_card.rb
│ │ ├── refund.rb
│ │ └── refund
│ │ │ ├── google_wallet.rb
│ │ │ └── paypal.rb
│ ├── unsubscribe.rb
│ └── wallet.rb
├── queries
│ ├── crypto_pay_outs_query.rb
│ └── people_query.rb
├── services
│ ├── charge_user_inactivity_fee.rb
│ └── crypto_api.rb
├── validators
│ └── url_validator.rb
└── views
│ ├── api
│ ├── v0
│ │ ├── access_tokens.rabl
│ │ ├── activity_logs
│ │ │ └── index.rabl
│ │ ├── ad_spaces
│ │ │ ├── index.rabl
│ │ │ ├── partials
│ │ │ │ └── _base.rabl
│ │ │ └── show.rabl
│ │ ├── bounties
│ │ │ ├── csv.json.rb
│ │ │ ├── index.rabl
│ │ │ ├── index_for_person.rabl
│ │ │ ├── partials
│ │ │ │ ├── base.rabl
│ │ │ │ ├── person.rabl
│ │ │ │ └── splits.rabl
│ │ │ └── show.rabl
│ │ ├── crypto_pay_out_txns
│ │ │ └── partials
│ │ │ │ └── _base.rabl
│ │ ├── crypto_pay_outs
│ │ │ ├── index.rabl
│ │ │ ├── partials
│ │ │ │ └── _base.rabl
│ │ │ └── show.rabl
│ │ ├── delayed_jobs
│ │ │ ├── index.rabl
│ │ │ ├── partials
│ │ │ │ ├── base.rabl
│ │ │ │ └── handler.rabl
│ │ │ └── show.rabl
│ │ ├── developer_goals
│ │ │ └── index.rabl
│ │ ├── events
│ │ │ ├── _base.json.jbuilder
│ │ │ └── index.json.jbuilder
│ │ ├── fundraisers
│ │ │ ├── index_for_person.rabl
│ │ │ └── tracker_relations.rabl
│ │ ├── issue_addresses
│ │ │ ├── index.rabl
│ │ │ ├── partials
│ │ │ │ └── base.rabl
│ │ │ └── show.rabl
│ │ ├── issues
│ │ │ ├── counts.rabl
│ │ │ ├── index.rabl
│ │ │ ├── partials
│ │ │ │ ├── base.rabl
│ │ │ │ ├── bounties.rabl
│ │ │ │ └── tracker.rabl
│ │ │ └── show.rabl
│ │ ├── pledges
│ │ │ ├── index.rabl
│ │ │ ├── partials
│ │ │ │ ├── person.rabl
│ │ │ │ └── splits.rabl
│ │ │ └── show.rabl
│ │ ├── report
│ │ │ ├── escrow_report.rabl
│ │ │ ├── liability_report.rabl
│ │ │ └── transactions.rabl
│ │ ├── request_for_proposals
│ │ │ ├── _base.json.jbuilder
│ │ │ └── index.json.jbuilder
│ │ ├── searches
│ │ │ └── index.rabl
│ │ ├── shorts
│ │ │ ├── _base.jbuilder
│ │ │ ├── index.jbuilder
│ │ │ └── show.jbuilder
│ │ ├── solutions
│ │ │ └── index.rabl
│ │ ├── splits
│ │ │ └── index.rabl
│ │ ├── tag_votes
│ │ │ ├── _base.json.jbuilder
│ │ │ └── index.json.jbuilder
│ │ ├── tags
│ │ │ ├── _base.json.jbuilder
│ │ │ └── show.json.jbuilder
│ │ ├── takedowns
│ │ │ └── index.rabl
│ │ ├── team_claims
│ │ │ └── index.rabl
│ │ ├── team_payins
│ │ │ ├── base.rabl
│ │ │ ├── index.rabl
│ │ │ └── show.rabl
│ │ ├── teams
│ │ │ ├── index.rabl
│ │ │ └── show.rabl
│ │ ├── tracker_plugins
│ │ │ ├── index.rabl
│ │ │ └── partials
│ │ │ │ └── tracker.rabl
│ │ ├── trackers
│ │ │ ├── index.rabl
│ │ │ └── show.rabl
│ │ └── transactions
│ │ │ ├── index.rabl
│ │ │ ├── partials
│ │ │ ├── admin.rabl
│ │ │ ├── base.rabl
│ │ │ └── splits.rabl
│ │ │ └── show.rabl
│ ├── v1
│ │ ├── accounts
│ │ │ ├── admin.rabl
│ │ │ ├── partials
│ │ │ │ ├── base.rabl
│ │ │ │ ├── extended.rabl
│ │ │ │ └── owner.rabl
│ │ │ └── show.rabl
│ │ ├── ad_spaces
│ │ │ ├── index.rabl
│ │ │ └── partials
│ │ │ │ └── _base.rabl
│ │ ├── authors
│ │ │ └── partials
│ │ │ │ └── base.rabl
│ │ ├── bounties
│ │ │ ├── index.rabl
│ │ │ ├── partials
│ │ │ │ ├── base.rabl
│ │ │ │ ├── issue.rabl
│ │ │ │ ├── options.rabl
│ │ │ │ ├── owner.rabl
│ │ │ │ ├── pact.rabl
│ │ │ │ ├── person.rabl
│ │ │ │ └── splits.rabl
│ │ │ └── show.rabl
│ │ ├── bounty_claim_events
│ │ │ └── partials
│ │ │ │ ├── base.rabl
│ │ │ │ ├── bounty_claim.rabl
│ │ │ │ └── person.rabl
│ │ ├── bounty_claim_responses
│ │ │ ├── index.rabl
│ │ │ ├── partials
│ │ │ │ ├── base.rabl
│ │ │ │ ├── bounty_claim.rabl
│ │ │ │ ├── owner.rabl
│ │ │ │ └── person.rabl
│ │ │ └── show.rabl
│ │ ├── bounty_claims
│ │ │ ├── index.rabl
│ │ │ ├── partials
│ │ │ │ ├── base.rabl
│ │ │ │ ├── bounty_claim_events.rabl
│ │ │ │ ├── bounty_claim_responses.rabl
│ │ │ │ ├── extended.rabl
│ │ │ │ ├── issue.rabl
│ │ │ │ ├── pact.rabl
│ │ │ │ ├── person.rabl
│ │ │ │ └── responses.rabl
│ │ │ └── show.rabl
│ │ ├── bulk
│ │ │ └── issues.rabl
│ │ ├── cards
│ │ │ └── index.rabl
│ │ ├── crypto_bounties
│ │ │ ├── index.rabl
│ │ │ └── partials
│ │ │ │ ├── base.rabl
│ │ │ │ └── owner.rabl
│ │ ├── crypto_pay_outs
│ │ │ ├── index.rabl
│ │ │ └── partials
│ │ │ │ └── base.rabl
│ │ ├── developer_goals
│ │ │ ├── index.rabl
│ │ │ ├── partials
│ │ │ │ ├── base.rabl
│ │ │ │ ├── issue.rabl
│ │ │ │ └── person.rabl
│ │ │ └── show.rabl
│ │ ├── doge_issues
│ │ │ ├── index.rabl
│ │ │ ├── partials
│ │ │ │ └── issue.rabl
│ │ │ └── ranked_index.rabl
│ │ ├── follow_relations
│ │ │ ├── index.rabl
│ │ │ ├── partials
│ │ │ │ ├── base.rabl
│ │ │ │ ├── item.rabl
│ │ │ │ └── person.rabl
│ │ │ └── show.rabl
│ │ ├── fundraisers
│ │ │ ├── admin.rabl
│ │ │ ├── cards.rabl
│ │ │ ├── embed.html.erb
│ │ │ ├── index.rabl
│ │ │ ├── info.rabl
│ │ │ ├── partials
│ │ │ │ ├── account.rabl
│ │ │ │ ├── base.rabl
│ │ │ │ ├── card.rabl
│ │ │ │ ├── extended.rabl
│ │ │ │ ├── rewards.rabl
│ │ │ │ └── team.rabl
│ │ │ ├── show.rabl
│ │ │ └── updates
│ │ │ │ └── partials
│ │ │ │ ├── base.rabl
│ │ │ │ └── extended.rabl
│ │ ├── github_repositories
│ │ │ └── partials
│ │ │ │ └── base.rabl
│ │ ├── issue_addresses
│ │ │ ├── create.rabl
│ │ │ └── partials
│ │ │ │ └── base.rabl
│ │ ├── issues
│ │ │ ├── activity.rabl
│ │ │ ├── authored.rabl
│ │ │ ├── bounties.rabl
│ │ │ ├── featured.rabl
│ │ │ ├── index.rabl
│ │ │ ├── overview.rabl
│ │ │ ├── partials
│ │ │ │ ├── base.rabl
│ │ │ │ ├── bounties.rabl
│ │ │ │ ├── bounty_claims.rabl
│ │ │ │ ├── card.rabl
│ │ │ │ ├── comments.rabl
│ │ │ │ ├── extended.rabl
│ │ │ │ ├── search.rabl
│ │ │ │ └── tracker.rabl
│ │ │ ├── show.rabl
│ │ │ └── waiting_for_developer.rabl
│ │ ├── languages
│ │ │ ├── index.rabl
│ │ │ └── partials
│ │ │ │ └── base.rabl
│ │ ├── linked_accounts
│ │ │ ├── partials
│ │ │ │ ├── base.rabl
│ │ │ │ ├── extended.rabl
│ │ │ │ └── faux_person.rabl
│ │ │ └── show.rabl
│ │ ├── notifications
│ │ │ └── partials
│ │ │ │ ├── base.rabl
│ │ │ │ ├── bounty.rabl
│ │ │ │ ├── fundraiser.rabl
│ │ │ │ └── pledge.rabl
│ │ ├── owners
│ │ │ └── partials
│ │ │ │ └── base.rabl
│ │ ├── pacts
│ │ │ └── partials
│ │ │ │ ├── base.rabl
│ │ │ │ └── search.rabl
│ │ ├── paypal_ipns
│ │ │ ├── index.rabl
│ │ │ └── partials
│ │ │ │ ├── base.rabl
│ │ │ │ └── transaction.rabl
│ │ ├── people
│ │ │ ├── activity.rabl
│ │ │ ├── bounties.rabl
│ │ │ ├── bounty_total.rabl
│ │ │ ├── contributions.rabl
│ │ │ ├── create.rabl
│ │ │ ├── crypto_bounties.rabl
│ │ │ ├── crypto_pay_outs.rabl
│ │ │ ├── index.rabl
│ │ │ ├── index_admin.rabl
│ │ │ ├── interesting.rabl
│ │ │ ├── languages.rabl
│ │ │ ├── login.rabl
│ │ │ ├── pacts.rabl
│ │ │ ├── partials
│ │ │ │ ├── account.rabl
│ │ │ │ ├── authenticated.rabl
│ │ │ │ ├── base.rabl
│ │ │ │ ├── bounties.rabl
│ │ │ │ ├── extended.rabl
│ │ │ │ ├── facebook_account.rabl
│ │ │ │ ├── fundraisers.rabl
│ │ │ │ ├── github_account.rabl
│ │ │ │ ├── pledges.rabl
│ │ │ │ ├── teams.rabl
│ │ │ │ ├── twitter_account.rabl
│ │ │ │ └── wallets.rabl
│ │ │ ├── pledges.rabl
│ │ │ ├── profile.rabl
│ │ │ ├── projects.rabl
│ │ │ ├── recent.rabl
│ │ │ ├── show.rabl
│ │ │ ├── show_admin.rabl
│ │ │ ├── teams.rabl
│ │ │ └── tracker_plugins.rabl
│ │ ├── pledges
│ │ │ ├── admin.rabl
│ │ │ ├── index.rabl
│ │ │ ├── partials
│ │ │ │ ├── base.rabl
│ │ │ │ ├── fundraiser.rabl
│ │ │ │ ├── owner.rabl
│ │ │ │ ├── person.rabl
│ │ │ │ └── reward.rabl
│ │ │ ├── recent.rabl
│ │ │ ├── show.rabl
│ │ │ └── top_backers.rabl
│ │ ├── projects
│ │ │ └── issues.rabl
│ │ ├── proposals
│ │ │ └── partials
│ │ │ │ └── base.rabl
│ │ ├── rewards
│ │ │ ├── index.rabl
│ │ │ ├── partials
│ │ │ │ ├── base.rabl
│ │ │ │ └── extended.rabl
│ │ │ └── show.rabl
│ │ ├── saved_search_tabs
│ │ │ └── index.rabl
│ │ ├── searches
│ │ │ ├── bounty_search.rabl
│ │ │ ├── index.rabl
│ │ │ ├── partials
│ │ │ │ ├── base.rabl
│ │ │ │ ├── extended.rabl
│ │ │ │ ├── issues.rabl
│ │ │ │ ├── params.rabl
│ │ │ │ ├── person.rabl
│ │ │ │ └── trackers.rabl
│ │ │ ├── show.rabl
│ │ │ └── typeahead.rabl
│ │ ├── shopping_cart
│ │ │ ├── partials
│ │ │ │ ├── base.rabl
│ │ │ │ ├── items.rabl
│ │ │ │ └── items
│ │ │ │ │ ├── base.rabl
│ │ │ │ │ ├── bounty.rabl
│ │ │ │ │ ├── pledge.rabl
│ │ │ │ │ └── team_payin.rabl
│ │ │ └── show.rabl
│ │ ├── solutions
│ │ │ ├── index.rabl
│ │ │ ├── partials
│ │ │ │ ├── base.rabl
│ │ │ │ ├── person.rabl
│ │ │ │ └── solution_events.rabl
│ │ │ └── show.rabl
│ │ ├── splits
│ │ │ ├── index.rabl
│ │ │ ├── partials
│ │ │ │ ├── base.rabl
│ │ │ │ ├── extended.rabl
│ │ │ │ └── transaction.rabl
│ │ │ └── show.rabl
│ │ ├── team_invites
│ │ │ ├── create.rabl
│ │ │ ├── index.rabl
│ │ │ └── partials
│ │ │ │ └── base.rabl
│ │ ├── team_payins
│ │ │ └── partials
│ │ │ │ ├── base.rabl
│ │ │ │ ├── person.rabl
│ │ │ │ └── team.rabl
│ │ ├── teams
│ │ │ ├── activity.rabl
│ │ │ ├── bounties.rabl
│ │ │ ├── index.rabl
│ │ │ ├── issues.rabl
│ │ │ ├── members.rabl
│ │ │ ├── partials
│ │ │ │ ├── account.rabl
│ │ │ │ ├── base.rabl
│ │ │ │ ├── extended.rabl
│ │ │ │ ├── linked_account.rabl
│ │ │ │ ├── member.rabl
│ │ │ │ ├── overview.rabl
│ │ │ │ └── trackers.rabl
│ │ │ ├── show.rabl
│ │ │ └── trackers.rabl
│ │ ├── tracker_plugins
│ │ │ ├── index.rabl
│ │ │ ├── partials
│ │ │ │ ├── base.rabl
│ │ │ │ ├── person.rabl
│ │ │ │ └── tracker.rabl
│ │ │ └── show.rabl
│ │ ├── tracker_relations
│ │ │ ├── index.rabl
│ │ │ ├── partials
│ │ │ │ ├── base.rabl
│ │ │ │ ├── extended.rabl
│ │ │ │ ├── linked_account.rabl
│ │ │ │ └── tracker.rabl
│ │ │ └── show.rabl
│ │ ├── trackers
│ │ │ ├── activity.rabl
│ │ │ ├── cards.rabl
│ │ │ ├── followed.rabl
│ │ │ ├── index.rabl
│ │ │ ├── partials
│ │ │ │ ├── base.rabl
│ │ │ │ ├── extended.rabl
│ │ │ │ ├── languages.rabl
│ │ │ │ ├── owner.rabl
│ │ │ │ ├── plugin.rabl
│ │ │ │ └── search.rabl
│ │ │ ├── show.rabl
│ │ │ └── top_backers.rabl
│ │ └── transactions
│ │ │ ├── index.rabl
│ │ │ ├── partials
│ │ │ ├── base.rabl
│ │ │ ├── checkout_method.rabl
│ │ │ ├── items.rabl
│ │ │ ├── items
│ │ │ │ ├── base.rabl
│ │ │ │ ├── bounty.rabl
│ │ │ │ ├── issue_suggestion_reward.rabl
│ │ │ │ ├── pledge.rabl
│ │ │ │ ├── proposal.rabl
│ │ │ │ ├── support_level_payment.rabl
│ │ │ │ └── team_payin.rabl
│ │ │ └── splits.rabl
│ │ │ └── show.rabl
│ └── v2
│ │ ├── _image_urls.json.jbuilder
│ │ ├── account
│ │ ├── _base.json.jbuilder
│ │ └── show.json.jbuilder
│ │ ├── addresses
│ │ ├── _base.json.jbuilder
│ │ ├── index.json.jbuilder
│ │ └── show.json.jbuilder
│ │ ├── backers
│ │ ├── _base.json.jbuilder
│ │ └── index.json.jbuilder
│ │ ├── bounties
│ │ ├── _base.json.jbuilder
│ │ ├── _summary.json.jbuilder
│ │ ├── index.json.jbuilder
│ │ └── summary.json.jbuilder
│ │ ├── bounty_claim_responses
│ │ └── _base.json.jbuilder
│ │ ├── bounty_claims
│ │ ├── _base.json.jbuilder
│ │ ├── index.json.jbuilder
│ │ └── show.json.jbuilder
│ │ ├── cart
│ │ ├── _base.json.jbuilder
│ │ └── show.json.jbuilder
│ │ ├── cart_items
│ │ ├── _base.json.jbuilder
│ │ └── show.json.jbuilder
│ │ ├── cash_outs
│ │ ├── _base.json.jbuilder
│ │ ├── csv.json.rb
│ │ ├── index.json.jbuilder
│ │ └── show.json.jbuilder
│ │ ├── comments
│ │ ├── _base.json.jbuilder
│ │ ├── index.json.jbuilder
│ │ └── show.json.jbuilder
│ │ ├── developer_goals
│ │ ├── _base.json.jbuilder
│ │ ├── index.json.jbuilder
│ │ └── show.json.jbuilder
│ │ ├── events
│ │ ├── _base.json.jbuilder
│ │ ├── index.json.jbuilder
│ │ └── show.json.jbuilder
│ │ ├── fundraiser_rewards
│ │ ├── _base.json.jbuilder
│ │ ├── index.json.jbuilder
│ │ └── show.json.jbuilder
│ │ ├── fundraisers
│ │ ├── _base.json.jbuilder
│ │ └── index.json.jbuilder
│ │ ├── issue_addresses
│ │ └── _base.json.jbuilder
│ │ ├── issue_suggestions
│ │ ├── _base.json.jbuilder
│ │ └── index.json.jbuilder
│ │ ├── issues
│ │ ├── _base.json.jbuilder
│ │ ├── create.json.jbuilder
│ │ ├── index.json.jbuilder
│ │ └── show.json.jbuilder
│ │ ├── linked_accounts
│ │ └── _base.json.jbuilder
│ │ ├── owners
│ │ └── _base.json.jbuilder
│ │ ├── pact_applications
│ │ ├── _base.json.jbuilder
│ │ ├── index.json.jbuilder
│ │ └── show.json.jbuilder
│ │ ├── pacts
│ │ ├── _base.json.jbuilder
│ │ ├── index.html.erb
│ │ ├── index.json.jbuilder
│ │ └── show.json.jbuilder
│ │ ├── payment_methods
│ │ ├── _base.json.jbuilder
│ │ └── index.json.jbuilder
│ │ ├── people
│ │ ├── _base.json.jbuilder
│ │ ├── index.json.jbuilder
│ │ ├── me.json.jbuilder
│ │ └── show.json.jbuilder
│ │ ├── people_trackers
│ │ └── index.json.jbuilder
│ │ ├── pledges
│ │ ├── _base.json.jbuilder
│ │ └── index.json.jbuilder
│ │ ├── plugins
│ │ ├── _base.json.jbuilder
│ │ └── index.json.jbuilder
│ │ ├── proposals
│ │ ├── _base.json.jbuilder
│ │ ├── create.json.jbuilder
│ │ ├── index.json.jbuilder
│ │ └── show.json.jbuilder
│ │ ├── recommendations
│ │ └── index.json.jbuilder
│ │ ├── redirect.json.jbuilder
│ │ ├── request_for_proposals
│ │ ├── _base.json.jbuilder
│ │ ├── create.json.jbuilder
│ │ ├── show.json.jbuilder
│ │ └── update.json.jbuilder
│ │ ├── solutions
│ │ ├── _base.json.jbuilder
│ │ └── index.json.jbuilder
│ │ ├── support_level_payments
│ │ └── _base.json.jbuilder
│ │ ├── support_levels
│ │ ├── _base.json.jbuilder
│ │ ├── index.json.jbuilder
│ │ └── show.json.jbuilder
│ │ ├── support_offerings
│ │ └── _base.json.jbuilder
│ │ ├── supporters
│ │ ├── _base.json.jbuilder
│ │ └── index.json.jbuilder
│ │ ├── tags
│ │ ├── _base.json.jbuilder
│ │ └── index.json.jbuilder
│ │ ├── team_updates
│ │ ├── _base.json.jbuilder
│ │ ├── index.json.jbuilder
│ │ └── show.json.jbuilder
│ │ ├── teams
│ │ ├── _base.json.jbuilder
│ │ ├── index.json.jbuilder
│ │ └── show.json.jbuilder
│ │ ├── timeline
│ │ └── index.json.jbuilder
│ │ ├── trackers
│ │ ├── _base.json.jbuilder
│ │ ├── _extended.json.jbuilder
│ │ ├── index.json.jbuilder
│ │ └── show.json.jbuilder
│ │ └── wallets
│ │ ├── _base.json.jbuilder
│ │ ├── index.json.jbuilder
│ │ └── show.json.jbuilder
│ ├── bounty_source
│ ├── api_docs.html.erb
│ ├── fundraiser.html.erb
│ └── issue.html.erb
│ ├── layouts
│ ├── _env.html.erb
│ ├── _footer.html.erb
│ ├── _footer.text.erb
│ ├── _thank_you.html.erb
│ ├── _thank_you.text.erb
│ ├── admin.html.erb
│ ├── bounty_source.html.erb
│ ├── email.html.erb
│ ├── email.md.erb
│ ├── email.text.erb
│ └── salt.html.erb
│ ├── mailer
│ ├── account_created.html.erb
│ ├── account_created.text.erb
│ ├── added_to_team.html.erb
│ ├── added_to_team.text.erb
│ ├── bounty_claim_accepted_backer_notice.html.erb
│ ├── bounty_claim_accepted_backer_notice.text.erb
│ ├── bounty_claim_accepted_developer_notice.html.erb
│ ├── bounty_claim_accepted_developer_notice.text.erb
│ ├── bounty_claim_contested_backer_notice.html.erb
│ ├── bounty_claim_contested_backer_notice.text.erb
│ ├── bounty_claim_contested_developer_notice.html.erb
│ ├── bounty_claim_contested_developer_notice.text.erb
│ ├── bounty_claim_rejected_backer_notice.html.erb
│ ├── bounty_claim_rejected_backer_notice.text.erb
│ ├── bounty_claim_rejected_developer_notice.html.erb
│ ├── bounty_claim_rejected_developer_notice.text.erb
│ ├── bounty_claim_rejected_rejecter_notice.html.erb
│ ├── bounty_claim_rejected_rejecter_notice.text.erb
│ ├── bounty_claim_submitted_backer_notice.html.erb
│ ├── bounty_claim_submitted_backer_notice.text.erb
│ ├── bounty_claim_submitted_developer_notice.html.erb
│ ├── bounty_claim_submitted_developer_notice.text.erb
│ ├── bounty_created.html.erb
│ ├── bounty_created.text.erb
│ ├── bounty_increased.md.erb
│ ├── bounty_placed.md.erb
│ ├── bounty_refunded.html.erb
│ ├── bounty_refunded.text.erb
│ ├── bounty_refunded_for_deleted_issue.html.erb
│ ├── bounty_refunded_for_deleted_issue.text.erb
│ ├── cash_out_payment_sent.md.erb
│ ├── change_email.html.erb
│ ├── change_email.text.erb
│ ├── claim_team.md.erb
│ ├── claim_team_rejected.md.erb
│ ├── crypto_pay_out_approved.html.erb
│ ├── crypto_pay_out_approved.text.erb
│ ├── developer_goal_created.html.erb
│ ├── developer_goal_created.text.erb
│ ├── developer_goal_reached.html.erb
│ ├── developer_goal_reached.text.erb
│ ├── email_verification.html.erb
│ ├── email_verification.text.erb
│ ├── extension_feedback.html.erb
│ ├── extension_feedback.text.erb
│ ├── fundraiser_backed.html.erb
│ ├── fundraiser_backed.text.erb
│ ├── fundraiser_completed.html.erb
│ ├── fundraiser_completed.text.erb
│ ├── fundraiser_featured_notification.html.erb
│ ├── fundraiser_featured_notification.text.erb
│ ├── fundraiser_pledge_made.html.erb
│ ├── fundraiser_pledge_made.text.erb
│ ├── inactivity_fee_charged.html.erb
│ ├── inactivity_fee_charged.text.erb
│ ├── invited_to_team.html.erb
│ ├── invited_to_team.text.erb
│ ├── issue_suggestion_created.html.erb
│ ├── issue_suggestion_created.text.erb
│ ├── issue_suggestion_rejected.html.erb
│ ├── issue_suggestion_rejected.text.erb
│ ├── issue_suggestion_thanked.html.erb
│ ├── issue_suggestion_thanked.text.erb
│ ├── notify_backers_of_developer_goal_set.html.erb
│ ├── notify_backers_of_developer_goal_set.text.erb
│ ├── notify_backers_of_fundraiser_breached.html.erb
│ ├── notify_backers_of_fundraiser_breached.text.erb
│ ├── notify_backers_of_fundraiser_half_completion.html.erb
│ ├── notify_backers_of_fundraiser_half_completion.text.erb
│ ├── notify_creator_of_fundraiser_breached.html.erb
│ ├── notify_creator_of_fundraiser_breached.text.erb
│ ├── notify_creator_of_fundraiser_half_completion.html.erb
│ ├── notify_creator_of_fundraiser_half_completion.text.erb
│ ├── notify_stakeholders_of_developer_work_started.html.erb
│ ├── notify_stakeholders_of_developer_work_started.text.erb
│ ├── notify_stakeholders_of_developer_work_stopped.html.erb
│ ├── notify_stakeholders_of_developer_work_stopped.text.erb
│ ├── order_created.html.erb
│ ├── order_created.text.erb
│ ├── order_failed.html.erb
│ ├── order_failed.text.erb
│ ├── pledge_survey_email.html.erb
│ ├── pledge_survey_email.text.erb
│ ├── proposal_appointed.html.erb
│ ├── proposal_appointed.text.erb
│ ├── proposal_appointed_to_team.html.erb
│ ├── proposal_appointed_to_team.text.erb
│ ├── proposal_created_to_team.html.erb
│ ├── proposal_created_to_team.text.erb
│ ├── proposal_rejected.html.erb
│ ├── proposal_rejected.text.erb
│ ├── proposal_rejected_to_team.html.erb
│ ├── proposal_rejected_to_team.text.erb
│ ├── remind_unresponsive_backers_of_bounty_claim.html.erb
│ ├── remind_unresponsive_backers_of_bounty_claim.text.erb
│ ├── repository_donation_made.html.erb
│ ├── repository_donation_made.text.erb
│ ├── request_for_proposal_notification.html.erb
│ ├── reset_password.html.erb
│ ├── reset_password.text.erb
│ ├── team_account_funded.html.erb
│ ├── team_account_funded.text.erb
│ ├── team_account_funded_admin.html.erb
│ ├── team_account_funded_admin.text.erb
│ ├── team_account_funded_backer.html.erb
│ ├── team_account_funded_backer.text.erb
│ ├── team_member_added.html.erb
│ ├── team_member_added.text.erb
│ ├── team_member_permissions_changed.html.erb
│ ├── team_member_permissions_changed.text.erb
│ ├── team_member_requested_invite.html.erb
│ ├── team_member_requested_invite.text.erb
│ ├── team_payin_refunded.md.erb
│ ├── team_permissions_changed.html.erb
│ ├── team_permissions_changed.text.erb
│ ├── team_update_created.md.erb
│ ├── unsubscribed.html.erb
│ ├── unsubscribed.text.erb
│ ├── welcome_back.html.erb
│ └── welcome_back.text.erb
│ ├── proposals
│ └── partials
│ │ └── base.rabl
│ └── transactions
│ └── partials
│ └── items
│ └── proposal.rabl
├── bin
├── bundle
├── rails
└── rake
├── config.ru
├── config
├── application.rb
├── boot.rb
├── database.yml
├── environment.rb
├── environments
│ ├── development.rb
│ ├── production.rb
│ └── test.rb
├── initializers
│ ├── active_record_marshaling.rb
│ ├── active_record_merge.rb
│ ├── assets.rb
│ ├── backtrace_silencers.rb
│ ├── big_decimal_json_parse_fix.rb
│ ├── bitcoin_money.rb
│ ├── crontab.rb
│ ├── database_connection.rb
│ ├── debugger.rb
│ ├── delayed_job.rb
│ ├── delayed_job_fix.rb
│ ├── elasticsearch.rb
│ ├── enumerable_find_value.rb
│ ├── force_accept_header.rb
│ ├── get_method_override.rb
│ ├── inflections.rb
│ ├── log_level.rb
│ ├── mime_types.rb
│ ├── new_relic_rpm_instrumentation.rb
│ ├── new_relic_unicorn.rb
│ ├── nokogiri.rb
│ ├── payments.rb
│ ├── rabl.rb
│ ├── ruby_template_handler.rb
│ ├── secure_headers.rb
│ ├── session_store.rb
│ ├── string_to_bool.rb
│ ├── stripe.rb
│ ├── timeout.rb
│ └── wrap_parameters.rb
├── jshint.yml
├── locales
│ └── en.yml
├── puma.rb
├── routes.rb
└── unicorn.rb
├── db
├── migrate
│ ├── 00000000000001_initial_schema.rb
│ ├── 20160611150448_create_team_claims.rb
│ ├── 20170220040901_add_quickbooks_columns.rb
│ ├── 20171011173023_create_quickbooks_vendors.rb
│ ├── 20171025155245_create_quickbooks_transactions.rb
│ ├── 20171126185423_create_takedowns.rb
│ ├── 20171210181208_drop_gittip_ipns.rb
│ ├── 20180302084704_remove_txn_id_non_null_from_payment_notification.rb
│ ├── 20180314002424_add_is_fraud_to_cash_outs.rb
│ ├── 20180328112330_remove_linked_account_uid_not_null.rb
│ ├── 20180403074459_add_password_reset_token_to_person.rb
│ ├── 20180404095942_add_email_verification_to_user.rb
│ ├── 20180411015847_create_issue_addresses.rb
│ ├── 20180424025353_add_category_to_issue.rb
│ ├── 20180424182356_create_wallets.rb
│ ├── 20180425061501_add_erc20_to_currency.rb
│ ├── 20180426033339_add_verified_to_wallets.rb
│ ├── 20180501124232_create_crypto_bounties.rb
│ ├── 20180501124659_add_balance_to_issue_addresses.rb
│ ├── 20180530004731_add_unique_index_to_issue_address_and_bounties.rb
│ ├── 20180610184815_create_quickbooks_tokens.rb
│ ├── 20180613071303_add_remote_id_to_linked_accounts.rb
│ ├── 20180622112508_create_crypto_pay_outs.rb
│ ├── 20180622114056_create_crypto_pay_out_txns.rb
│ ├── 20180627074014_add_default_to_crypto_bounties.rb
│ ├── 20180627074159_create_crypto_pay_out_claim_events.rb
│ ├── 20180627093828_change_columns_in_crypto_pay_outs.rb
│ ├── 20180627094310_change_columns_in_crypto_pay_out_txns.rb
│ ├── 20180628015138_add_foreign_key_for_crypto_tables.rb
│ ├── 20180716045309_add_refund_crypto_columns.rb
│ ├── 20180717083536_remove_unique_index_for_crypto_pay_out.rb
│ ├── 20180717114602_additional_columns_for_crypto_refund.rb
│ ├── 20180717121553_create_crypto_admin_addresses.rb
│ ├── 20180719030123_add_reason_to_crypto_pay_out.rb
│ ├── 20180813231110_create_ad_spaces.rb
│ ├── 20180827073853_add_override_fee_percentage_to_account.rb
│ ├── 20201220205934_create_pacts.rb
│ ├── 20210103191631_add_pact_to_bounties.rb
│ ├── 20210105194938_create_pact_applications.rb
│ ├── 20210110204412_add_completed_at_to_pacts.rb
│ └── 20210113213551_add_pact_to_bounty_claims.rb
├── schema.rb
└── seeds.rb
├── docker-compose.yml
├── dump.rdb
├── lib
├── assets
│ └── .gitkeep
├── display_money.rb
├── heroku_timeout.rb
├── middleware
│ └── force_accept_header.rb
└── tasks
│ ├── .gitkeep
│ ├── auto_annotate_models.rake
│ ├── cache.rake
│ ├── delayed_job_multi.rake
│ ├── reindex_elasticsearch.rake
│ ├── replace_avatar.rake
│ └── replace_old_avatar.rake
├── log
└── .gitkeep
├── public
├── 404.html
├── 422.html
├── 500.html
├── favicon.ico
└── robots.txt
├── spec
├── controllers
│ ├── admin_controller_spec.rb
│ ├── api
│ │ ├── base_controller_spec.rb
│ │ ├── v0
│ │ │ ├── fundraisers_controller_spec.rb
│ │ │ └── transactions_controller_spec.rb
│ │ ├── v1
│ │ │ ├── bounties_controller_spec.rb
│ │ │ ├── bounty_claim_responses_controller_spec.rb
│ │ │ ├── bounty_claims_controller_spec.rb
│ │ │ ├── developer_goals_controller_spec.rb
│ │ │ ├── follow_relations_controller_spec.rb
│ │ │ ├── fundraisers_controller_spec.rb
│ │ │ ├── home_controller_spec.rb
│ │ │ ├── issues_controller_spec.rb
│ │ │ ├── people_controller_spec.rb
│ │ │ ├── pledges_controller_spec.rb
│ │ │ ├── rewards_controller_spec.rb
│ │ │ ├── shopping_cart_controller_spec.rb
│ │ │ ├── solutions_controller_spec.rb
│ │ │ ├── team_invites_controller_spec.rb
│ │ │ ├── teams_controller_spec.rb
│ │ │ ├── tracker_plugins_controller_spec.rb
│ │ │ └── trackers_controller_spec.rb
│ │ └── v2
│ │ │ ├── account_controller_spec.rb
│ │ │ ├── backers_controller_spec.rb
│ │ │ ├── cart_controller_spec.rb
│ │ │ ├── cash_outs_controller_spec.rb
│ │ │ ├── fundraiser_rewards_controller_spec.rb
│ │ │ ├── fundraiser_updates_controller_spec.rb
│ │ │ ├── fundraisers_controller_spec.rb
│ │ │ ├── issues_controller_spec.rb
│ │ │ ├── people_controller_spec.rb
│ │ │ ├── people_trackers_controller_spec.rb
│ │ │ ├── pledges_controller_spec.rb
│ │ │ ├── plugins_controller_spec.rb
│ │ │ ├── teams_controller_spec.rb
│ │ │ └── trackers_conrtoller_spec.rb
│ ├── application_controller_spec.rb
│ ├── badge_controller_spec.rb
│ ├── coinbase_controller_spec.rb
│ └── payments_controller_spec.rb
├── factories
│ ├── accounts.rb
│ ├── activity_logs.rb
│ ├── ad_spaces.rb
│ ├── addresses.rb
│ ├── bounties.rb
│ ├── bounty_claim_responeses.rb
│ ├── bounty_claims.rb
│ ├── cash_outs.rb
│ ├── coinbase_orders.rb
│ ├── coinbases.rb
│ ├── comments.rb
│ ├── developer_goals.rb
│ ├── factories.rb
│ ├── follow_relations.rb
│ ├── fundraiser_tracker_relations.rb
│ ├── fundraisers.rb
│ ├── github_commits.rb
│ ├── issue.rb
│ ├── issue_rank.rb
│ ├── issue_rank_caches.rb
│ ├── languages.rb
│ ├── linked_accounts.rb
│ ├── lurkers.rb
│ ├── payment_methods.rb
│ ├── payment_notifications.rb
│ ├── people.rb
│ ├── person_relations.rb
│ ├── pledges.rb
│ ├── proposals.rb
│ ├── request_for_proposals.rb
│ ├── rewards.rb
│ ├── searches.rb
│ ├── shopping_carts.rb
│ ├── solution_events.rb
│ ├── solutions.rb
│ ├── support_levels.rb
│ ├── tag_relations.rb
│ ├── tag_votes.rb
│ ├── tags.rb
│ ├── team_invites.rb
│ ├── team_member_relations.rb
│ ├── team_payin.rb
│ ├── team_tracker_relations.rb
│ ├── team_updates.rb
│ ├── teams.rb
│ ├── tracker_languages.rb
│ ├── tracker_person_relations.rb
│ ├── tracker_plugins.rb
│ ├── tracker_rank_caches.rb
│ ├── tracker_relations.rb
│ ├── trackers.rb
│ └── transactions.rb
├── features
│ └── issues_spec.rb
├── helpers
│ └── api
│ │ └── v2
│ │ ├── issues_helper_spec.rb
│ │ ├── pagniation_helper_spec.rb
│ │ └── trackers_helper_spec.rb
├── mailers
│ ├── mailer_scheduler_spec.rb
│ └── mailer_spec.rb
├── models
│ ├── account_spec.rb
│ ├── activity_log_spec.rb
│ ├── ad_space_spec.rb
│ ├── badge_cache_spec.rb
│ ├── badge_factory_spec.rb
│ ├── badge_spec.rb
│ ├── bitbucket
│ │ ├── issue_spec.rb
│ │ └── tracker_spec.rb
│ ├── bounty_claim_response_spec.rb
│ ├── bounty_claim_spec.rb
│ ├── bounty_spec.rb
│ ├── bugzilla
│ │ ├── issue_spec.rb
│ │ └── tracker_spec.rb
│ ├── cash_out
│ │ ├── mastercoin_spec.rb
│ │ └── ripple_spec.rb
│ ├── cash_out_spec.rb
│ ├── currency_spec.rb
│ ├── developer_goal_spec.rb
│ ├── follow_relation_spec.rb
│ ├── fundraiser_spec.rb
│ ├── fundraiser_tracker_relation_spec.rb
│ ├── github
│ │ ├── event_spec.rb
│ │ ├── issue_spec.rb
│ │ └── repository_spec.rb
│ ├── github_stargazer_spec.rb
│ ├── gitlab
│ │ ├── issue_spec.rb
│ │ └── tracker_spec.rb
│ ├── google_code
│ │ ├── issue_spec.rb
│ │ └── tracker_spec.rb
│ ├── issue_rank_cache_spec.rb
│ ├── issue_spec.rb
│ ├── issue_suggestion_reward_spec.rb
│ ├── issue_suggestion_spec.rb
│ ├── jira
│ │ ├── issue_spec.rb
│ │ └── tracker_spec.rb
│ ├── launchpad
│ │ ├── issue_spec.rb
│ │ └── tracker_spec.rb
│ ├── linked_account
│ │ └── github_spec.rb
│ ├── merged_model_spec.rb
│ ├── pact.rb
│ ├── payment_helpers_spec.rb
│ ├── payment_method_spec.rb
│ ├── payment_method_temporary_spec.rb
│ ├── payment_notification
│ │ ├── coinbase_spec.rb
│ │ └── paypal_spec.rb
│ ├── person_relation
│ │ ├── facebook_spec.rb
│ │ ├── github_spec.rb
│ │ ├── person_relation_spec.rb
│ │ └── twitter_spec.rb
│ ├── person_spec.rb
│ ├── pivotal
│ │ ├── issue_spec.rb
│ │ └── tracker_spec.rb
│ ├── pledge_spec.rb
│ ├── proposal_spec.rb
│ ├── request_for_proposal_spec.rb
│ ├── shopping_cart_spec.rb
│ ├── solution_event_spec.rb
│ ├── solution_spec.rb
│ ├── source_forge
│ │ ├── issue_spec.rb
│ │ └── tracker_spec.rb
│ ├── source_forge_native
│ │ ├── issue_spec.rb
│ │ └── tracker_spec.rb
│ ├── split_spec.rb
│ ├── support_level_spec.rb
│ ├── support_offering_reward_spec.rb
│ ├── support_offering_spec.rb
│ ├── tag_relation_spec.rb
│ ├── tag_spec.rb
│ ├── tag_vote_spec.rb
│ ├── team_bounty_hunter_spec.rb
│ ├── team_claim_spec.rb
│ ├── team_invite_spec.rb
│ ├── team_member_relation_spec.rb
│ ├── team_payin_spec.rb
│ ├── team_spec.rb
│ ├── team_update_spec.rb
│ ├── thumb_spec.rb
│ ├── trac
│ │ ├── issue_spec.rb
│ │ └── tracker_spec.rb
│ ├── tracker_person_relation_spec.rb
│ ├── tracker_plugin
│ │ └── gh_spec.rb
│ ├── tracker_plugin_spec.rb
│ ├── tracker_rank_cache_spec.rb
│ ├── tracker_spec.rb
│ ├── transaction
│ │ ├── internal_transfer
│ │ │ └── promotional.rb
│ │ ├── order
│ │ │ └── paypal_spec.rb
│ │ └── order_spec.rb
│ ├── transaction_spec.rb
│ └── unsubscribe_spec.rb
├── queries
│ └── people_query_spec.rb
├── rails_helper.rb
├── requests
│ └── .gitkeep
├── routing
│ ├── badges_route_spec.rb
│ ├── coinbase_routes_spec.rb
│ ├── paypal_routes_spec.rb
│ └── teams_routes_spec.rb
├── services
│ └── charge_user_inactivity_fee_spec.rb
├── spec_helper.rb
├── support
│ ├── api_v2_controller_context.rb
│ ├── capybara.rb
│ ├── database_cleaner.rb
│ ├── default_vendor_params.rb
│ ├── features
│ │ └── session_helpers.rb
│ ├── mock_github_api.rb
│ ├── payment_helpers.rb
│ ├── request_for_proposals
│ │ └── shared_examples_for_request_for_proposals.rb
│ ├── request_tracking.rb
│ ├── response_status_helper.rb
│ ├── shared_examples_for_currency_conversion.rb
│ └── vcr.rb
├── trackers
│ └── all_spec.rb
└── vcr
│ └── live_sync
│ ├── issue_remote_sync_bitbucket
│ ├── issue_should_create_new_issue.yml
│ └── issue_should_fetch_issue_comment.yml
│ ├── issue_remote_sync_bugzilla
│ ├── issue_should_create_new_issue.yml
│ └── issue_should_fetch_issue_comment.yml
│ ├── issue_remote_sync_gitlab
│ ├── issue_should_create_new_issue.yml
│ └── issue_should_fetch_issue_comment.yml
│ ├── issue_remote_sync_jira
│ ├── issue_should_create_new_issue.yml
│ └── issue_should_fetch_issue_comment.yml
│ ├── issue_remote_sync_launchpad
│ ├── issue_should_create_new_issue.yml
│ └── issue_should_fetch_issue_comment.yml
│ ├── issue_remote_sync_mantis_print_bug
│ ├── issue_should_create_new_issue.yml
│ └── issue_should_fetch_issue_comment.yml
│ ├── issue_remote_sync_mantis_rest
│ ├── issue_should_create_new_issue.yml
│ └── issue_should_fetch_issue_comment.yml
│ ├── issue_remote_sync_mantis_soap
│ ├── issue_should_create_new_issue.yml
│ └── issue_should_fetch_issue_comment.yml
│ ├── issue_remote_sync_pivotal
│ ├── issue_should_create_new_issue.yml
│ └── issue_should_fetch_issue_comment.yml
│ ├── issue_remote_sync_trac
│ ├── issue_should_create_new_issue.yml
│ └── issue_should_fetch_issue_comment.yml
│ ├── tracker
│ ├── api_extract_info_from_url_http_
│ │ ├── bugs_jquery_com
│ │ │ ├── .yml
│ │ │ └── ticket
│ │ │ │ └── 10495.yml
│ │ ├── dev_clojure_org
│ │ │ └── jira
│ │ │ │ └── browse
│ │ │ │ ├── cljs.yml
│ │ │ │ └── cljs_868.yml
│ │ ├── trac_macports_org
│ │ │ └── .yml
│ │ └── twistedmatrix_com
│ │ │ └── trac
│ │ │ ├── .yml
│ │ │ └── ticket
│ │ │ └── 1228.yml
│ └── api_extract_info_from_url_https_
│ │ ├── bugs_webkit_org
│ │ └── show_bug_cgi_id_65711.yml
│ │ ├── bugzilla_gnome_org
│ │ ├── buglist_cgi_quicksearch_component_3_ageneral_product_3_a_22gnome_terminal_22_.yml
│ │ └── show_bug_cgi_id_380612.yml
│ │ ├── bugzilla_redhat_com
│ │ ├── buglist_cgi_product_fedora_component_fedora_packager_resolution____.yml
│ │ └── show_bug_cgi_id_707252.yml
│ │ ├── bukkit_atlassian_net
│ │ ├── browse
│ │ │ └── bukkit_3846.yml
│ │ └── projects
│ │ │ └── bukkit
│ │ │ ├── issues
│ │ │ └── bukkit_5574.yml
│ │ │ └── summary.yml
│ │ ├── issues_apache_org
│ │ └── jira
│ │ │ └── browse
│ │ │ ├── agila.yml
│ │ │ └── agila_44.yml
│ │ ├── trac_adium_im.yml
│ │ ├── trac_adium_im
│ │ ├── .yml
│ │ └── ticket
│ │ │ └── 6.yml
│ │ ├── trac_torproject_org
│ │ └── projects
│ │ │ ├── tor.yml
│ │ │ └── tor
│ │ │ └── .yml
│ │ ├── trac_videolan_org
│ │ └── vlc
│ │ │ ├── .yml
│ │ │ └── ticket
│ │ │ └── 4352.yml
│ │ ├── www_mantisbt_org
│ │ └── bugs
│ │ │ ├── my_view_page_php.yml
│ │ │ └── view_php_id_24096.yml
│ │ └── www_pivotaltracker_com
│ │ ├── n
│ │ └── projects
│ │ │ └── 367813
│ │ │ └── stories
│ │ │ └── 45939421.yml
│ │ ├── projects
│ │ ├── 367813
│ │ │ └── stories.yml
│ │ └── 367813_
│ │ │ └── stories
│ │ │ └── 45939421.yml
│ │ └── story
│ │ └── show
│ │ └── 45939421.yml
│ ├── tracker_remote_sync_bitbucket
│ ├── tracker_should_create_new_tracker.yml
│ └── tracker_should_create_tracker_issues.yml
│ ├── tracker_remote_sync_bugzilla
│ ├── tracker_should_create_new_tracker.yml
│ └── tracker_should_create_tracker_issues.yml
│ ├── tracker_remote_sync_gitlab
│ ├── tracker_with_gitlab_com_gitlab_org_gitlab_ce_should_create_new_tracker.yml
│ └── tracker_with_gitlab_com_goto_ru_ds_school_2018_01_should_create_new_tracker.yml
│ ├── tracker_remote_sync_jira
│ ├── tracker_should_create_new_tracker.yml
│ └── tracker_should_create_tracker_issues.yml
│ ├── tracker_remote_sync_launchpad
│ ├── tracker_should_create_new_tracker.yml
│ └── tracker_should_create_tracker_issues.yml
│ ├── tracker_remote_sync_mantis
│ ├── tracker_should_create_new_tracker.yml
│ └── tracker_should_create_tracker_issues.yml
│ ├── tracker_remote_sync_pivotal
│ ├── tracker_should_create_new_tracker.yml
│ └── tracker_should_create_tracker_issues.yml
│ └── tracker_remote_sync_trac
│ ├── tracker_should_create_new_tracker.yml
│ └── tracker_should_create_tracker_issues.yml
├── tasks.yml
└── test
├── controllers
└── pacts_controller_test.rb
├── fixtures
├── pact_applications.yml
└── pacts.yml
└── models
├── pact_application_test.rb
└── pact_test.rb
/.dockerignore:
--------------------------------------------------------------------------------
1 | .git*
2 | .idea*
3 | db/*.sqlite3
4 | db/*.sqlite3-journal
5 | log/*
6 | tmp/*
7 | .DS_Store
8 |
9 | Dockerfile
10 | .dockerignore
11 | docker-compose.yml
12 | docker-compose-test.yml
13 |
--------------------------------------------------------------------------------
/.rspec:
--------------------------------------------------------------------------------
1 | --color
2 | --profile
3 | --require rails_helper
4 | --format documentation
5 |
--------------------------------------------------------------------------------
/.ruby-version:
--------------------------------------------------------------------------------
1 | 2.7.1
2 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # License
2 |
3 | By contributing your code, you agree to license your contribution under the MIT License.
4 |
--------------------------------------------------------------------------------
/Procfile:
--------------------------------------------------------------------------------
1 | release: rake db:migrate
2 | web: puma -C /app/config/puma.rb
3 | worker: NEW_RELIC_DISPATCHER=delayed_job bundle exec rake jobs:work
4 | firehose: rails runner 'Github::Event.firehose!'
5 |
--------------------------------------------------------------------------------
/Rakefile:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env rake
2 | require File.expand_path('../config/application', __FILE__)
3 | Api::Application.load_tasks
--------------------------------------------------------------------------------
/app/assets/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/app/assets/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/app/assets/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/app/assets/images/Bountysource-190x60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/Bountysource-190x60.png
--------------------------------------------------------------------------------
/app/assets/images/Bountysource-green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/Bountysource-green.png
--------------------------------------------------------------------------------
/app/assets/images/Bountysource-square-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/Bountysource-square-100.png
--------------------------------------------------------------------------------
/app/assets/images/Bountysource-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/Bountysource-white.png
--------------------------------------------------------------------------------
/app/assets/images/GitHub-Mark-32px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/GitHub-Mark-32px.png
--------------------------------------------------------------------------------
/app/assets/images/ajax-loader.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/ajax-loader.gif
--------------------------------------------------------------------------------
/app/assets/images/anon.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/anon.jpg
--------------------------------------------------------------------------------
/app/assets/images/bird_blue_32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/bird_blue_32.png
--------------------------------------------------------------------------------
/app/assets/images/bountysource-grey.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/bountysource-grey.png
--------------------------------------------------------------------------------
/app/assets/images/bs-anon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/bs-anon.png
--------------------------------------------------------------------------------
/app/assets/images/checkbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/checkbox.png
--------------------------------------------------------------------------------
/app/assets/images/checkbox_checked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/checkbox_checked.png
--------------------------------------------------------------------------------
/app/assets/images/extension1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/extension1.png
--------------------------------------------------------------------------------
/app/assets/images/facebook_share_32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/facebook_share_32.png
--------------------------------------------------------------------------------
/app/assets/images/favicon-bitbucket.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/favicon-bitbucket.png
--------------------------------------------------------------------------------
/app/assets/images/favicon-bugzilla.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/favicon-bugzilla.png
--------------------------------------------------------------------------------
/app/assets/images/favicon-email.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/favicon-email.png
--------------------------------------------------------------------------------
/app/assets/images/favicon-facebook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/favicon-facebook.png
--------------------------------------------------------------------------------
/app/assets/images/favicon-github-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/favicon-github-white.png
--------------------------------------------------------------------------------
/app/assets/images/favicon-github.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/favicon-github.png
--------------------------------------------------------------------------------
/app/assets/images/favicon-jira.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/favicon-jira.png
--------------------------------------------------------------------------------
/app/assets/images/favicon-launchpad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/favicon-launchpad.png
--------------------------------------------------------------------------------
/app/assets/images/favicon-pivotal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/favicon-pivotal.png
--------------------------------------------------------------------------------
/app/assets/images/favicon-sourceforge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/favicon-sourceforge.png
--------------------------------------------------------------------------------
/app/assets/images/favicon-trac.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/favicon-trac.png
--------------------------------------------------------------------------------
/app/assets/images/favicon-twitter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/favicon-twitter.png
--------------------------------------------------------------------------------
/app/assets/images/github-plugin-example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/github-plugin-example.png
--------------------------------------------------------------------------------
/app/assets/images/github-plugin-example2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/github-plugin-example2.png
--------------------------------------------------------------------------------
/app/assets/images/github-plugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/github-plugin.png
--------------------------------------------------------------------------------
/app/assets/images/github-white-20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/github-white-20.png
--------------------------------------------------------------------------------
/app/assets/images/github-white-24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/github-white-24.png
--------------------------------------------------------------------------------
/app/assets/images/github-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/github-white.png
--------------------------------------------------------------------------------
/app/assets/images/google-wallet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/google-wallet.png
--------------------------------------------------------------------------------
/app/assets/images/gplus-32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/gplus-32.png
--------------------------------------------------------------------------------
/app/assets/images/logos.ai:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/logos.ai
--------------------------------------------------------------------------------
/app/assets/images/paypal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/paypal.png
--------------------------------------------------------------------------------
/app/assets/images/thumbsup-20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/thumbsup-20.png
--------------------------------------------------------------------------------
/app/assets/images/thumbsup-32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/thumbsup-32.png
--------------------------------------------------------------------------------
/app/assets/images/thumbsup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/images/thumbsup.png
--------------------------------------------------------------------------------
/app/assets/javascripts/admin.js.erb:
--------------------------------------------------------------------------------
1 | //= require_self
2 | //= require angular-rails-templates
3 | //= require "./admin/app.js"
4 | //= require_tree "./admin"
5 | //= require "./lib/cookie_jar.js"
6 | //= require "./lib/cookie_jar_config.js"
7 | 'use strict';
8 |
--------------------------------------------------------------------------------
/app/assets/javascripts/admin/bounty_claims/partials/nav_tabs.html:
--------------------------------------------------------------------------------
1 |
The content that you are looking for does not exist.
2 |
--------------------------------------------------------------------------------
/app/assets/javascripts/admin/orders/show.html:
--------------------------------------------------------------------------------
1 | Redirecting to transaction...
2 |
--------------------------------------------------------------------------------
/app/assets/javascripts/admin/people/show_events.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Events
5 |
6 |
--------------------------------------------------------------------------------
/app/assets/javascripts/admin/people/show_salt.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Salt
5 | Coming soon
6 |
--------------------------------------------------------------------------------
/app/assets/javascripts/admin/people/show_team_payins.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Team Payins
5 |
6 |
--------------------------------------------------------------------------------
/app/assets/javascripts/admin/sidebar/sidebar.js:
--------------------------------------------------------------------------------
1 | angular.module('app')
2 | .controller('SidebarController', function ($scope, $location, $api, $window) {
3 | //add sidebar feature to show active page
4 | // $scope.current_location = $location.href();
5 | });
6 |
--------------------------------------------------------------------------------
/app/assets/javascripts/admin/tags/show.html:
--------------------------------------------------------------------------------
1 |
TAG #{{tag.id}}: {{tag.name}}
2 | {{tag}}
3 |
4 |
Delete Tag
5 |
--------------------------------------------------------------------------------
/app/assets/javascripts/admin/team_payins/show.html:
--------------------------------------------------------------------------------
1 |
Team Payin #{{team_payin.id}}
2 |
3 |
4 |
5 |
Refund
6 |
--------------------------------------------------------------------------------
/app/assets/javascripts/admin/transactions/partials/transaction_form.js:
--------------------------------------------------------------------------------
1 | angular.module('app')
2 | .controller("TransactionForm", function ($scope, $window, $api) {
3 | $scope.form_controller = "FORM CONTROLLER HERE";
4 | });
5 |
--------------------------------------------------------------------------------
/app/assets/javascripts/app/activity/cashOuts/new/paymentMethod.js:
--------------------------------------------------------------------------------
1 | angular.module('activity').controller('NewCashOutPaymentMethodController', function($scope) {
2 |
3 | });
--------------------------------------------------------------------------------
/app/assets/javascripts/app/activity/pacts.js:
--------------------------------------------------------------------------------
1 | angular.module('activity').controller('PactsController', function($scope, $routeParams, $api, $pageTitle) {
2 | $pageTitle.set('Pacts', 'Activity');
3 |
4 | $api.call("/user/pacts").then(function(pacts) {
5 | $scope.pacts = pacts;
6 | console.log(pacts)
7 | return pacts;
8 | });
9 | });
10 |
--------------------------------------------------------------------------------
/app/assets/javascripts/app/activity/templates/navTabs.html:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/app/assets/javascripts/app/activity/timeline.js:
--------------------------------------------------------------------------------
1 | angular.module('activity').controller('TimelineController', function($scope, $routeParams, $api, $pageTitle) {
2 | $pageTitle.set('Timeline', 'Activity');
3 |
4 | $api.person_activity($scope.current_person.id).then(function(timeline) {
5 | $scope.timeline = timeline;
6 | return timeline;
7 | });
8 | });
9 |
--------------------------------------------------------------------------------
/app/assets/javascripts/app/env.js:
--------------------------------------------------------------------------------
1 | angular.module('app').constant('$env', window.BS_ENV).run(function($rootScope, $env) {
2 | $rootScope.env = $env;
3 | });
4 |
--------------------------------------------------------------------------------
/app/assets/javascripts/app/issues/templates/breadcrumb.html:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/app/assets/javascripts/app/issues/thumbs.js:
--------------------------------------------------------------------------------
1 | angular.module("app").controller('IssueThumbsController', function ($scope, Issue) {
2 | $scope.issues = Issue.query({ thumbed_by_person_id: $scope.current_person.id, order: 'thumbed_at', include_team: true, include_tracker: true });
3 | });
4 |
--------------------------------------------------------------------------------
/app/assets/javascripts/app/layout/templates/footerLegal.html:
--------------------------------------------------------------------------------
1 |
2 |
Legal
3 |
4 |
5 |
6 | Copyright ©2020, Bountysource Inc.
7 |
8 |
9 |
--------------------------------------------------------------------------------
/app/assets/javascripts/app/pacts/create/templates/anon-img.html.haml:
--------------------------------------------------------------------------------
1 | %img.img-circle{:src => "#{asset_path("bs-anon.png")}", :style => "height: 18px; width: 18px; display: inline;"}/
2 |
--------------------------------------------------------------------------------
/app/assets/javascripts/app/pacts/create/templates/current-person-img.html.haml:
--------------------------------------------------------------------------------
1 | %img.img-circle{"ng-src" => "{{current_person.image_url_small || current_person.image_url}}", :style => "height: 18px; width: 18px; display: inline;"}/
2 |
--------------------------------------------------------------------------------
/app/assets/javascripts/app/people/templates/header.html:
--------------------------------------------------------------------------------
1 |
2 | {{person.display_name}}
3 | {{person.first_name}} {{person.last_name}}
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/assets/javascripts/app/settings/tabs.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/assets/javascripts/app/settings/tabs.js:
--------------------------------------------------------------------------------
1 | angular.module('app').controller('SettingsTabs', function($scope, $location) {
2 | $scope.tabs = [
3 | { name: 'Profile', url: '/settings' },
4 | { name: 'Accounts', url: '/settings/accounts' }
5 | ];
6 | $scope.is_active = function(url) {
7 | return url === $location.path();
8 | };
9 | });
10 |
--------------------------------------------------------------------------------
/app/assets/javascripts/app/signin/callback.html:
--------------------------------------------------------------------------------
1 |
{{ error || "Redirecting..." }}
--------------------------------------------------------------------------------
/app/assets/javascripts/app/signin/verify.html:
--------------------------------------------------------------------------------
1 |
Verifying...
2 |
{{error}}
3 |
Verification Done. Please Login.
4 |
--------------------------------------------------------------------------------
/app/assets/javascripts/app/signin/verify_email.html:
--------------------------------------------------------------------------------
1 |
Changing Email...
2 |
5 |
Email Changed. Login with your new email.
6 |
--------------------------------------------------------------------------------
/app/assets/javascripts/app/teams/_share_badge.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Share
4 |
5 |
--------------------------------------------------------------------------------
/app/assets/javascripts/app/teams/backers.html:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/app/assets/javascripts/app/teams/tagged.html.haml:
--------------------------------------------------------------------------------
1 | %div{"ng-controller"=>"TeamTaggedController" }
2 | %div{ "team-view"=>"team-view" }
3 | %div{"ng-include" => "'app/teams/_team_table.html'"}
4 |
--------------------------------------------------------------------------------
/app/assets/javascripts/app/teams/tagged.js:
--------------------------------------------------------------------------------
1 | angular.module('app').controller('TeamTaggedController', function ($scope, $location, $routeParams, $anchorScroll, $api, $pageTitle, Team) {
2 | $scope.team_promise.then(function(team) {
3 | $scope.teams = Team.query({ tag_child_type: 'Team', tag_child_id: team.id, per_page: 250, include_bio: true });
4 | });
5 | });
6 |
--------------------------------------------------------------------------------
/app/assets/javascripts/app/tools/templates/info.html.erb:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/app/assets/javascripts/app/trackers/nav_tabs.js:
--------------------------------------------------------------------------------
1 | angular.module('app').controller('TrackerNavTabsController', function ($scope, $routeParams, $api) {
2 | $scope.active_tab = function() {
3 | console.log($routeParams, $api);
4 | };
5 | });
6 |
--------------------------------------------------------------------------------
/app/assets/javascripts/app/trackers/templates/nav_tabs.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/assets/javascripts/common/constants/defaultRouteOptions.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Default options to extend when defining routes.
3 | * We seem to use `reloadOnSearch: false` everywhere, so I am defining this constant to inherit options from so that it
4 | * defaults to false.
5 | * */
6 | angular.module('constants').constant('defaultRouteOptions', {
7 | reloadOnSearch: false
8 | });
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/activityTimeline/activityTimeline.js:
--------------------------------------------------------------------------------
1 | angular.module('directives').directive('activityTimeline', function () {
2 | return {
3 | restrict: 'E',
4 | templateUrl: 'common/directives/activityTimeline/activityTimeline.html',
5 | scope: {
6 | timeline: "="
7 | }
8 | };
9 | });
10 |
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/addressSelect/addressSelect.html:
--------------------------------------------------------------------------------
1 |
4 | Select an address
5 |
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/addressSelect/addressSelect.js:
--------------------------------------------------------------------------------
1 | angular.module('directives').directive('addressSelect', function() {
2 |
3 | return {
4 | restrict: 'EAC',
5 | templateUrl: 'common/directives/addressSelect/addressSelect.html',
6 | replace: true,
7 | scope: { addressManagerInstance: '=' }
8 | };
9 |
10 | });
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/backerThumbnails/backerThumbnails.js:
--------------------------------------------------------------------------------
1 | angular.module('directives').directive('backerThumbnails', function() {
2 | return {
3 | restrict: "E",
4 | scope: {
5 | issue: "="
6 | },
7 | templateUrl: "common/directives/backerThumbnails/backerThumbnails.html",
8 | replace: true
9 | };
10 | });
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/claimContent/claimContent.js:
--------------------------------------------------------------------------------
1 | angular.module('directives').directive('claimContent', function() {
2 | return {
3 | restrict: "E",
4 | scope: {
5 | claim: "=",
6 | issue: "="
7 | },
8 | templateUrl: "common/directives/claimContent/claimContent.html",
9 | replace: true
10 | };
11 | });
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/favicon/favicon.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/favicon/favicon.js:
--------------------------------------------------------------------------------
1 | angular.module('directives').directive('favicon', function() {
2 | return {
3 | restrict: "E",
4 | replace: true,
5 | templateUrl: 'common/directives/favicon/favicon.html',
6 | scope: {
7 | domain: "@"
8 | }
9 | };
10 | });
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/formattedAddress/formattedAddress.html:
--------------------------------------------------------------------------------
1 |
2 |
{{address.name}}
3 |
{{address.address1}}
4 |
{{address.address2}}
5 |
{{address.address3}}
6 |
{{address.city}}, {{address.state}} {{address.postal_code}}
7 |
{{address.country}}
8 |
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/formattedAddress/formattedAddress.js:
--------------------------------------------------------------------------------
1 | angular.module('directives').directive('formattedAddress', function() {
2 | return {
3 | restrict: 'EAC',
4 | templateUrl: 'common/directives/formattedAddress/formattedAddress.html',
5 | scope: { address: '=' }
6 | };
7 | });
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/fundraiserSideBar/fundraiserSideBar.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/fundraiserTweetButton/fundraiserTweetButton.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/infoSpace/infoSpace.js:
--------------------------------------------------------------------------------
1 | angular.module('directives').directive('infoSpace', function() {
2 | return {
3 | restrict: 'E',
4 | replace: true,
5 | transclude: true,
6 | templateUrl: 'common/directives/infoSpace/infoSpace.html',
7 | scope: {
8 | infoSpace: "="
9 | }
10 | };
11 | });
12 |
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/issueStatusLabel/issueStatusLabel.js:
--------------------------------------------------------------------------------
1 | angular.module('directives').directive('issueStatusLabel', function() {
2 | return {
3 | restrict: "E",
4 | scope: {
5 | issue: "=",
6 | size: '@'
7 | },
8 | templateUrl: "common/directives/issueStatusLabel/issueStatusLabel.html"
9 | };
10 | });
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/loadingBar/loadingBar.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/loadingBar/loadingBar.js:
--------------------------------------------------------------------------------
1 | angular.module('directives').directive('loadingBar', function() {
2 | return {
3 | restrict: "E",
4 | replace: true,
5 | transclude: true,
6 | templateUrl: 'common/directives/loadingBar/loadingBar.html'
7 | };
8 | });
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/nameForExternalLink/nameForExternalLink.html.haml:
--------------------------------------------------------------------------------
1 | %span {{text}}
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/navElement/navElement.html:
--------------------------------------------------------------------------------
1 |
2 | {{navElement.name}}
3 | {{navElement.name}}
4 |
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/navElement/navElement.js:
--------------------------------------------------------------------------------
1 | angular.module('directives').directive('navElement', function() {
2 |
3 | return {
4 | restrict: 'EAC',
5 | templateUrl: 'common/directives/navElement/navElement.html',
6 | scope: { navElement: '=' },
7 | replace: true
8 | };
9 |
10 | });
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/ngFocus/ngFocus.js:
--------------------------------------------------------------------------------
1 | angular.module('directives').directive('ngFocus', function($parse) {
2 | return function(scope, element, attr) {
3 | var fn = $parse(attr.ngFocus);
4 | element.bind('focus', function(event) {
5 | scope.$apply(function() {
6 | fn(scope, {$event:event});
7 | });
8 | });
9 | };
10 | });
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/onFinishRender/onFinishRender.js:
--------------------------------------------------------------------------------
1 | angular.module('directives').directive('onFinishRender', function() {
2 | return {
3 | restrict: "A",
4 | link: function (scope, element, attr) {
5 | if (scope.$last === true) {
6 | scope.$evalAsync(attr.onFinishRender);
7 | }
8 | }
9 | };
10 | });
11 |
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/personIcon/personIcon.js:
--------------------------------------------------------------------------------
1 | angular.module('directives').directive('personIcon', function() {
2 | return {
3 | restrict: "E",
4 | scope: {
5 | person: "=",
6 | size: "@",
7 | format: "@"
8 | },
9 | templateUrl: "common/directives/personIcon/personIcon.html",
10 | replace: true
11 | };
12 | });
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/profileName/profileName.html.haml:
--------------------------------------------------------------------------------
1 | %span<
2 | %span{ "ng-if"=>"!href"}<
3 | {{owner_display_name}}
4 | %a.text-dark.font-weight-semibold{ "ng-if"=>"href", "ng-href"=>"{{href}}"}<
5 | {{owner_display_name}}
6 |
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/profilePic/profilePic.html.haml:
--------------------------------------------------------------------------------
1 | %span<
2 | %img{ "ng-if"=>"!href", "ng-src"=>"{{img_src}}", "class"=>"img-responsive img-circle" }
3 | %a{ "ng-if"=>"href", "ng-href"=>"{{href}}" }<
4 | %img{ "ng-src"=>"{{img_src}}", "class"=>"img-responsive img-circle" }
5 |
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/requireGplus/requireGplus.js:
--------------------------------------------------------------------------------
1 | angular.module('directives').directive('requireGplus', function($gplus) {
2 | return {
3 | restrict: "A",
4 | scope: "isolate",
5 | link: function() { $gplus.plusone.go(); } // $gplus.widgets.load();
6 | };
7 | });
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/requireTwitter/requireTwitter.js:
--------------------------------------------------------------------------------
1 | angular.module('directives').directive('requireTwitter', function($twttr) {
2 | return {
3 | restrict: "A",
4 | scope: "isolate",
5 | link: function() { $twttr.widgets.load(); }
6 | };
7 | });
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/selectOnClick/selectOnClick.js:
--------------------------------------------------------------------------------
1 | angular.module('directives').directive('selectOnClick', function () {
2 | return {
3 | restrict: "A",
4 | link: function (scope, element) {
5 | element.bind('click', function() {
6 | element[0].select();
7 | });
8 | }
9 | };
10 | });
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/shareBadge/shareBadge.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/signalIcon/signalIcon.js:
--------------------------------------------------------------------------------
1 | angular.module('directives').directive('signalIcon', function() {
2 | return {
3 | restrict: "E",
4 | templateUrl: "common/directives/signalIcon/signalIcon.html",
5 | replace: true,
6 | transclude: true,
7 | scope: {
8 | percent: "="
9 | }
10 | };
11 | });
12 |
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/takedown/takedown.js:
--------------------------------------------------------------------------------
1 | angular.module('directives').directive('takedown', function ($window) {
2 | return {
3 | restrict: 'E',
4 | templateUrl: 'common/directives/takedown/takedown.html',
5 | replace: true
6 | };
7 | });
8 |
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/teamView/tag_autocomplete.html.haml:
--------------------------------------------------------------------------------
1 | %a
2 | %img{ "ng-src"=>"{{match.model.image_url}}", "style"=>"width: 16px; height:16px", "ng-if"=>"match.model.type==='Team'" }
3 | %span.glyphicon.glyphicon-tag{ "ng-if"=>"match.model.type==='Tag'" }
4 | %span{ "bind-html-unsafe"=>"match.label | encodeEntities | typeaheadHighlight:query" }
5 |
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/timeDifference/timeDifference.html:
--------------------------------------------------------------------------------
1 |
2 | {{units | number}}
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/timeline/timelineSmall.js:
--------------------------------------------------------------------------------
1 | angular.module('directives').directive('timelineSmall', function ($window) {
2 | return {
3 | restrict: 'E',
4 | templateUrl: 'common/directives/timeline/timelineSmall.html',
5 | scope: {
6 | events: '=',
7 | },
8 | replace: true
9 | };
10 | });
11 |
--------------------------------------------------------------------------------
/app/assets/javascripts/common/directives/updateList/updateList.html:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/app/assets/javascripts/common/filters/atLeast.js:
--------------------------------------------------------------------------------
1 | angular.module('filters').filter('atLeast', function() {
2 | return function (input, other) {
3 | return (input > other) ? input : other;
4 | };
5 | });
--------------------------------------------------------------------------------
/app/assets/javascripts/common/filters/atMost.js:
--------------------------------------------------------------------------------
1 | angular.module('filters').filter('atMost', function() {
2 | return function (input, other) {
3 | return (input < other) ? input : other;
4 | };
5 | });
--------------------------------------------------------------------------------
/app/assets/javascripts/common/filters/cleanUrl.js:
--------------------------------------------------------------------------------
1 | angular.module('filters').filter('cleanUrl', function() {
2 | return function(s) {
3 | var new_url = (s||"").replace(/https?:\/\//, '');
4 | new_url = new_url.replace(/\/$/, '');
5 | return new_url;
6 | };
7 | });
--------------------------------------------------------------------------------
/app/assets/javascripts/common/filters/emptyFilter.js:
--------------------------------------------------------------------------------
1 | angular.module('filters').filter('emptyFilter', function() {
2 | return function(array) {
3 | var returnArray = [];
4 | angular.forEach(array, function (item) {
5 | if (item.description !== null) {
6 | returnArray.push(item);
7 | }
8 | });
9 | return returnArray;
10 | };
11 | });
12 |
--------------------------------------------------------------------------------
/app/assets/javascripts/common/filters/hex.js:
--------------------------------------------------------------------------------
1 | angular.module('filters').filter('hex', function() {
2 | return function(input) {
3 | if (input) {
4 | return input.replace(/[^0-9a-f]/i, "");
5 | }
6 | };
7 | });
--------------------------------------------------------------------------------
/app/assets/javascripts/common/filters/percent.js:
--------------------------------------------------------------------------------
1 | angular.module('filters').filter('percent', function () {
2 | return function (input) {
3 | return Math.round(100 * input) + '%';
4 | };
5 | });
--------------------------------------------------------------------------------
/app/assets/javascripts/common/filters/pluck.js:
--------------------------------------------------------------------------------
1 | angular.module('filters').filter('pluck', function() {
2 | return function(input, field) {
3 | // console.log(arguments);
4 | var retval = [];
5 | for (var i=0; i < input.length; i++) {
6 | retval.push(input[i][field]);
7 | }
8 | return retval;
9 | };
10 | });
--------------------------------------------------------------------------------
/app/assets/javascripts/common/filters/round.js:
--------------------------------------------------------------------------------
1 | angular.module('filters').filter('round', function() {
2 | return function (input) {
3 | return Math.round(input);
4 | };
5 | });
--------------------------------------------------------------------------------
/app/assets/javascripts/common/filters/slice.js:
--------------------------------------------------------------------------------
1 | angular.module('filters').filter('slice', function() {
2 | return function(a,start,end) {
3 | if (!a) { return []; }
4 | return a.slice(start,end);
5 | };
6 | });
--------------------------------------------------------------------------------
/app/assets/javascripts/common/filters/slug.js:
--------------------------------------------------------------------------------
1 | angular.module('filters').filter('slug', function() {
2 | return function(val) {
3 | return (val||"").toLowerCase().replace(/[ ]+/g,'-').replace(/[,.]/g,'').replace(/[^a-z0-9-_]/g,'');
4 | };
5 | });
--------------------------------------------------------------------------------
/app/assets/javascripts/common/filters/title.js:
--------------------------------------------------------------------------------
1 | angular.module('filters').filter('title', function() {
2 | // Capitalize all words
3 | return function(s) {
4 | var parts = s.split(" ");
5 | var new_parts = [];
6 | for (var i=0; i
"{ 'bountysource-thumbs-box-mini': thumbsUpSize==='small', 'bountysource-thumbs-box': thumbsUpSize==='large', 'has-thumbed-up': issue.has_thumbed_up, 'thumbs-at-zero': issue.thumbs_up_count===0 }"}
2 | .thumb-wrapper.mr-2{ "ng-click"=>"thumbClicked()" }>
3 | .info-wrapper {{issue.thumbs_up_count}}
4 |
--------------------------------------------------------------------------------
/app/assets/javascripts/salt/env.js:
--------------------------------------------------------------------------------
1 | angular.module('app').constant('$env', window.BS_ENV);
2 |
--------------------------------------------------------------------------------
/app/assets/javascripts/salt/layout/error.html:
--------------------------------------------------------------------------------
1 | {{code}}
2 | {{message}}
3 |
--------------------------------------------------------------------------------
/app/assets/javascripts/salt/layout/navbar.js:
--------------------------------------------------------------------------------
1 | angular.module('app').controller("NavbarController", function ($scope, $auth) {
2 | $scope.logout = $auth.logout;
3 | });
4 |
--------------------------------------------------------------------------------
/app/assets/javascripts/salt/session/_buttons.js:
--------------------------------------------------------------------------------
1 | angular.module('app').controller('SessionButtons', function($scope, $state, $api, $window) {
2 | $scope.link_with_provider = function(provider) {
3 | $window.location.href = $api.oauth_url(provider, {
4 | redirect_url: $state.href('root.session.signup', {}, { absolute: true, inherit: false })
5 | });
6 | };
7 | });
8 |
--------------------------------------------------------------------------------
/app/assets/javascripts/salt/settings/base.js:
--------------------------------------------------------------------------------
1 | angular.module('app').config(function($stateProvider) {
2 | $stateProvider.state('root.settings', {
3 | abstract: true,
4 | title: "Settings",
5 | templateUrl: "salt/settings/base.html"
6 | });
7 | });
8 |
--------------------------------------------------------------------------------
/app/assets/javascripts/salt/support_levels/base.js:
--------------------------------------------------------------------------------
1 | angular.module('app').config(function($stateProvider) {
2 | $stateProvider.state('root.support_levels', {
3 | abstract: true,
4 | template: ' '
5 | });
6 | });
7 |
--------------------------------------------------------------------------------
/app/assets/javascripts/salt/teams/_support_header.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/assets/javascripts/salt/teams/_support_header_title.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/assets/javascripts/salt/teams/admin/updates/base.js:
--------------------------------------------------------------------------------
1 | angular.module('app').config(function($stateProvider) {
2 | $stateProvider.state('root.teams.admin.updates', {
3 | abstract: true,
4 | template: " "
5 | });
6 | });
7 |
--------------------------------------------------------------------------------
/app/assets/javascripts/salt/teams/not_activated.html.erb:
--------------------------------------------------------------------------------
1 |
2 |
3 |
This team is not enabled for Salt (monthly donations). Do you want to visit the team page on the regular site instead?
4 |
5 |
{{ team_www_url }}
6 |
--------------------------------------------------------------------------------
/app/assets/javascripts/salt/teams/show.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/app/assets/javascripts/salt/title.js:
--------------------------------------------------------------------------------
1 | angular.module('app').run(function($rootScope) {
2 | // set page title
3 | $rootScope.$on('$stateChangeSuccess', function(event, toState) {
4 | $rootScope.title = toState.title;
5 | });
6 | });
7 |
--------------------------------------------------------------------------------
/app/assets/stylesheets/admin.css.erb:
--------------------------------------------------------------------------------
1 | /*
2 | *= require_tree "./admin"
3 | */
4 |
--------------------------------------------------------------------------------
/app/assets/stylesheets/admin/bounty_claims.css:
--------------------------------------------------------------------------------
1 | .bounty-claim-events-table .bounty-claim-events-row {
2 | margin-bottom: 5px;
3 | }
4 | .bounty-claim-events-table .bounty-claim-events-row:last-of-type {
5 | margin-bottom: 0;
6 | }
--------------------------------------------------------------------------------
/app/assets/stylesheets/admin/companies.css:
--------------------------------------------------------------------------------
1 | .company-tracker-thumbnails li { position: relative; }
2 | .company-tracker-thumbnails li .close { position: absolute; right: 2px; top: -5px; display: none; opacity: 0.4; }
3 | .company-tracker-thumbnails li:hover .close { display: block; }
4 | .company-tracker-thumbnails li:hover .close:hover { opacity: 0.9; }
5 |
--------------------------------------------------------------------------------
/app/assets/stylesheets/admin/kpi.css:
--------------------------------------------------------------------------------
1 | .big_up { background: #6EFF69; }
2 | .small_up { background: #D8FFD9; }
3 | .big_down { background: #FFA19B; }
4 | .small_down { background: #FFD3DD; }
--------------------------------------------------------------------------------
/app/assets/stylesheets/admin/search.css:
--------------------------------------------------------------------------------
1 | .search-bullets > li { line-height: 45px; }
2 | .search-bullets > li > ul > li { line-height: 25px; }
--------------------------------------------------------------------------------
/app/assets/stylesheets/bountysource.css.erb:
--------------------------------------------------------------------------------
1 | /*
2 | *= require_tree "./bountysource"
3 | */
4 |
--------------------------------------------------------------------------------
/app/assets/stylesheets/bountysource/alerts.css:
--------------------------------------------------------------------------------
1 | .alert-salmon {
2 | background-color: #ff6666;
3 | border-color: #ff6666;
4 | color: #a94442;
5 | }
--------------------------------------------------------------------------------
/app/assets/stylesheets/bountysource/bounty_claims.css:
--------------------------------------------------------------------------------
1 | .bounty-claim-events-table .bounty-claim-events-row {
2 | margin-bottom: 5px;
3 | }
4 | .bounty-claim-events-table .bounty-claim-events-row:last-of-type {
5 | margin-bottom: 0;
6 | }
--------------------------------------------------------------------------------
/app/assets/stylesheets/bountysource/cards.scss:
--------------------------------------------------------------------------------
1 | .card {
2 | margin-bottom: 20px;
3 | background-color: #fff;
4 | /* border: 1px solid transparent; */
5 | -webkit-box-shadow: 0 0 4px 0 rgba(31, 35, 35, 0.08);
6 | box-shadow: 0 0 4px 0 rgba(31, 35, 35, 0.08);
7 | }
8 |
9 | .card-body {
10 | padding: 30px;
11 | }
--------------------------------------------------------------------------------
/app/assets/stylesheets/bountysource/companies.css:
--------------------------------------------------------------------------------
1 | .company-tracker-thumbnails li { position: relative; }
2 | .company-tracker-thumbnails li .close { position: absolute; right: 2px; top: -5px; display: none; opacity: 0.4; }
3 | .company-tracker-thumbnails li:hover .close { display: block; }
4 | .company-tracker-thumbnails li:hover .close:hover { opacity: 0.9; }
5 |
--------------------------------------------------------------------------------
/app/assets/stylesheets/bountysource/modal.css:
--------------------------------------------------------------------------------
1 | .modal-content {
2 | border-radius: 0px;
3 | }
--------------------------------------------------------------------------------
/app/assets/stylesheets/bountysource/pills.css:
--------------------------------------------------------------------------------
1 | .nav-pills >li.active>a,
2 | .nav-pills>li.active>a:hover,
3 | .nav-pills>li.active>a:focus {
4 | background-color: #33CCFF;
5 | color: white;
6 | }
--------------------------------------------------------------------------------
/app/assets/stylesheets/bountysource/settings.css:
--------------------------------------------------------------------------------
1 | .settings-accounts .link-with-text
2 | {
3 | padding-top: 5px;
4 | }
5 |
6 | .settings-accounts .link-with-avatar
7 | {
8 | padding-top: 4px;
9 | }
--------------------------------------------------------------------------------
/app/assets/stylesheets/bountysource/signin.scss:
--------------------------------------------------------------------------------
1 | .hide-tooltip .tooltip { display: none !important; }
2 |
3 | .form-signin {
4 | max-width: 500px;
5 | margin-top: 80px;
6 | margin-bottom: 80px;
7 | .providers {
8 | margin-top: 50px;
9 | }
10 |
11 | label.control-label {
12 | font-weight: 500;
13 | }
14 | }
--------------------------------------------------------------------------------
/app/assets/stylesheets/bountysource/tools.css:
--------------------------------------------------------------------------------
1 | table.table-projects { margin-bottom: 0; }
2 | table.table-projects tr:first-of-type td { border-top: 0; }
3 | .notification-box {
4 | padding: 30px 20px 60px;
5 | margin-top: 6px;
6 | }
--------------------------------------------------------------------------------
/app/assets/stylesheets/bountysource/trackers.css:
--------------------------------------------------------------------------------
1 | table#tracker-edit-language-table tr:first-of-type > td {
2 | border-top: 0;
3 | }
4 |
5 |
6 | .tracker-search img.advanced-img {
7 | height: 50px;
8 | }
--------------------------------------------------------------------------------
/app/assets/stylesheets/salt/app/angular-ui.scss:
--------------------------------------------------------------------------------
1 |
2 | .nav a { cursor: pointer; }
3 |
--------------------------------------------------------------------------------
/app/assets/stylesheets/salt/app/checkout.scss:
--------------------------------------------------------------------------------
1 | .continue-button {
2 | margin-top: 45px;
3 | width: 350px;
4 | padding-top: 15px;
5 | padding-bottom: 15px;
6 | border-radius: 999px;
7 | font-weight: 600;
8 | }
9 |
10 | .support-amount-form {
11 | label.control-label {
12 | font-weight: 400;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/app/assets/stylesheets/salt/app/timeline.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/assets/stylesheets/salt/app/timeline.scss
--------------------------------------------------------------------------------
/app/assets/stylesheets/salt/base.scss:
--------------------------------------------------------------------------------
1 | @import "app/*";
--------------------------------------------------------------------------------
/app/assets/stylesheets/salt/bootstrap-custom-utilities.scss:
--------------------------------------------------------------------------------
1 | .btn-light-blue {
2 | @include button-variant(#fff, $bright-light-blue, $bright-light-blue);
3 | }
4 |
5 | .progress-bar-gunmetal {
6 | @include progress-bar-variant($gunmetal);
7 | }
--------------------------------------------------------------------------------
/app/controllers/admin_controller.rb:
--------------------------------------------------------------------------------
1 | class AdminController < ApplicationController
2 | def home
3 | render "layouts/admin.html.erb", layout: false
4 | end
5 | end
6 |
--------------------------------------------------------------------------------
/app/controllers/api/v0/activity_logs_controller.rb:
--------------------------------------------------------------------------------
1 | class Api::V0::ActivityLogsController < Api::V0::BaseController
2 |
3 | def index
4 | @activity_logs = ActivityLog.order('created_at desc')
5 | end
6 |
7 | end
8 |
--------------------------------------------------------------------------------
/app/controllers/api/v0/bounty_claims/force_collects_controller.rb:
--------------------------------------------------------------------------------
1 | class Api::V0::BountyClaims::ForceCollectsController < Api::V0::BaseController
2 |
3 | def create
4 | @bounty_claim = BountyClaim.find(params[:bounty_claim_id])
5 |
6 | @bounty_claim.collect!
7 |
8 | head :ok
9 | end
10 | end
--------------------------------------------------------------------------------
/app/controllers/api/v0/developer_goals_controller.rb:
--------------------------------------------------------------------------------
1 | class Api::V0::DeveloperGoalsController < Api::V0::BaseController
2 |
3 | def index
4 | @developer_goals = DeveloperGoal.includes(:issue, :person).all
5 | end
6 |
7 | end
8 |
--------------------------------------------------------------------------------
/app/controllers/api/v0/follow_relations_controller.rb:
--------------------------------------------------------------------------------
1 | class Api::V0::FollowRelationsController < Api::V0::BaseController
2 |
3 | def index
4 | @follow_relations = FollowRelation.order('updated_at desc')
5 | render "api/v1/follow_relations/index"
6 | end
7 |
8 | end
9 |
--------------------------------------------------------------------------------
/app/controllers/api/v0/payments_controller.rb:
--------------------------------------------------------------------------------
1 | class Api::V0::PaymentsController < Api::V0::BaseController
2 |
3 | def recent_paypal_ipns
4 | @paypal_ipns = PaypalIpn.order('created_at desc')
5 | render "api/v1/paypal_ipns/index"
6 | end
7 |
8 | end
9 |
--------------------------------------------------------------------------------
/app/controllers/api/v0/pledges_controller.rb:
--------------------------------------------------------------------------------
1 | class Api::V0::PledgesController < Api::V0::BaseController
2 |
3 | def index
4 | @pledges = Pledge.order('created_at desc').limit(100)
5 | render "api/v0/pledges/index"
6 | end
7 |
8 | def show
9 | @pledge = Pledge.find(params[:id])
10 | render "api/v0/pledges/show"
11 | end
12 |
13 | end
--------------------------------------------------------------------------------
/app/controllers/api/v0/request_for_proposals_controller.rb:
--------------------------------------------------------------------------------
1 | class Api::V0::RequestForProposalsController < Api::V0::BaseController
2 | def index
3 | @include_person = true
4 | @collection = RequestForProposal.includes(:proposals, :person, :issue)
5 | end
6 | end
--------------------------------------------------------------------------------
/app/controllers/api/v0/solutions_controller.rb:
--------------------------------------------------------------------------------
1 | class Api::V0::SolutionsController < Api::V0::BaseController
2 |
3 | def index
4 | @solutions = Solution.includes(:issue, :person).all
5 | end
6 |
7 | end
8 |
--------------------------------------------------------------------------------
/app/controllers/api/v1/delayed_jobs_controller.rb:
--------------------------------------------------------------------------------
1 | class Api::V1::DelayedJobsController < ApplicationController
2 | def poll
3 | job = Delayed::Job.find_by_id(params[:id])
4 | head (job ? :not_modified : :ok)
5 | end
6 | end
7 |
--------------------------------------------------------------------------------
/app/controllers/api/v1/info_spaces_controller.rb:
--------------------------------------------------------------------------------
1 | class Api::V1::InfoSpacesController < ApplicationController
2 | def index
3 | @ad_spaces = AdSpace.where.not(position: nil)
4 | render "api/v1/ad_spaces/index"
5 | end
6 | end
--------------------------------------------------------------------------------
/app/controllers/api/v1/issue_addresses_controller.rb:
--------------------------------------------------------------------------------
1 | class Api::V1::IssueAddressesController < ApplicationController
2 | def create
3 | @issue = Issue.find(params[:issue_id])
4 | CryptoApi.generate_address(@issue.id) unless @issue.issue_address.present?
5 | @issue.reload
6 | @issue
7 | end
8 | end
--------------------------------------------------------------------------------
/app/controllers/api/v1/issues/reindices_controller.rb:
--------------------------------------------------------------------------------
1 | class Api::V1::Issues::ReindicesController < ApplicationController
2 | def show
3 | @issue = Issue.find(params[:issue_id])
4 | @issue.reindex
5 | render 'api/v1/issues/show'
6 | end
7 | end
8 |
--------------------------------------------------------------------------------
/app/controllers/api/v1/languages_controller.rb:
--------------------------------------------------------------------------------
1 | class Api::V1::LanguagesController < ApplicationController
2 | def index
3 | @languages = Language.order("search_weight DESC")
4 | end
5 | end
6 |
--------------------------------------------------------------------------------
/app/controllers/api/v1/person_relations_controller.rb:
--------------------------------------------------------------------------------
1 | class Api::V1::PersonRelationsController < ApplicationController
2 | end
3 |
--------------------------------------------------------------------------------
/app/controllers/api/v2/backers_controller.rb:
--------------------------------------------------------------------------------
1 | class Api::V2::BackersController < Api::BaseController
2 |
3 | include Api::V2::PaginationHelper
4 | include Api::V2::BackersHelper
5 |
6 | def index
7 | @collection = top_backers(params)
8 | end
9 |
10 | end
11 |
--------------------------------------------------------------------------------
/app/controllers/api/v2/currencies_controller.rb:
--------------------------------------------------------------------------------
1 | class Api::V2::CurrenciesController < ApplicationController
2 |
3 | def index
4 | render json: Currency.index, status: :ok
5 | end
6 |
7 | end
8 |
--------------------------------------------------------------------------------
/app/controllers/api/v2/payment_methods_controller.rb:
--------------------------------------------------------------------------------
1 | class Api::V2::PaymentMethodsController < Api::BaseController
2 |
3 | before_action :require_auth
4 |
5 | def index
6 | @collection = current_user.payment_methods
7 | render 'api/v2/payment_methods/index'
8 | end
9 | end
10 |
--------------------------------------------------------------------------------
/app/helpers/admin_helper.rb:
--------------------------------------------------------------------------------
1 | module AdminHelper
2 | end
3 |
--------------------------------------------------------------------------------
/app/helpers/api/v1/home_helper.rb:
--------------------------------------------------------------------------------
1 | module Api::V1::HomeHelper
2 | end
3 |
--------------------------------------------------------------------------------
/app/helpers/api/v2/account_helper.rb:
--------------------------------------------------------------------------------
1 | module Api::V2::AccountHelper
2 | end
3 |
--------------------------------------------------------------------------------
/app/helpers/api/v2/addresses_helper.rb:
--------------------------------------------------------------------------------
1 | module Api::V2::AddressesHelper
2 | end
3 |
--------------------------------------------------------------------------------
/app/helpers/api/v2/cart_helper.rb:
--------------------------------------------------------------------------------
1 | module Api::V2::CartHelper
2 | end
3 |
--------------------------------------------------------------------------------
/app/helpers/api/v2/people_trackers_helper.rb:
--------------------------------------------------------------------------------
1 | module Api::V2::PeopleTrackersHelper
2 | end
3 |
--------------------------------------------------------------------------------
/app/helpers/api/v2/plugins_helper.rb:
--------------------------------------------------------------------------------
1 | module Api::V2::PluginsHelper
2 | end
3 |
--------------------------------------------------------------------------------
/app/helpers/api/v2/timeline_helper.rb:
--------------------------------------------------------------------------------
1 | module Api::V2::TimelineHelper
2 |
3 | include Api::V2::BaseHelper
4 |
5 | end
6 |
--------------------------------------------------------------------------------
/app/helpers/bounty_source_helper.rb:
--------------------------------------------------------------------------------
1 | module BountySourceHelper
2 | end
3 |
--------------------------------------------------------------------------------
/app/helpers/number_to_dollars_helper.rb:
--------------------------------------------------------------------------------
1 | module NumberToDollarsHelper
2 | def number_to_dollars(num, options={})
3 | ActionController::Base.helpers.number_to_currency(num.floor, options.merge(precision: 0, unit: "$"))
4 | end
5 | end
6 |
--------------------------------------------------------------------------------
/app/helpers/pacts_helper.rb:
--------------------------------------------------------------------------------
1 | module PactsHelper
2 | end
3 |
--------------------------------------------------------------------------------
/app/views/api/v0/access_tokens.rabl:
--------------------------------------------------------------------------------
1 | collection @tokens
2 |
3 | attribute :created_at
4 | attribute :remote_ip
5 | attribute :user_agent
6 |
7 | child(:person) do
8 | extends "api/v1/people/partials/base"
9 | end
10 |
--------------------------------------------------------------------------------
/app/views/api/v0/activity_logs/index.rabl:
--------------------------------------------------------------------------------
1 | collection @activity_logs
2 |
3 | attribute :id
4 | attribute :name
5 | attribute :person_id
6 | attribute :tracker_id
7 | attribute :issue_id
8 | attribute :created_at
9 |
--------------------------------------------------------------------------------
/app/views/api/v0/ad_spaces/index.rabl:
--------------------------------------------------------------------------------
1 | collection @ad_spaces
2 |
3 | extends "api/v0/ad_spaces/partials/base"
--------------------------------------------------------------------------------
/app/views/api/v0/ad_spaces/partials/_base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :title
3 | attribute :text
4 | attribute :button_text
5 | attribute :button_url
6 | attribute :image_url
7 | attribute :medium_image_url
8 | attribute :position
--------------------------------------------------------------------------------
/app/views/api/v0/ad_spaces/show.rabl:
--------------------------------------------------------------------------------
1 | object @ad_space
2 |
3 | extends "api/v0/ad_spaces/partials/base"
4 |
--------------------------------------------------------------------------------
/app/views/api/v0/bounties/csv.json.rb:
--------------------------------------------------------------------------------
1 | @csv_bounties.map do |bounty|
2 | bounty
3 | end.to_json
--------------------------------------------------------------------------------
/app/views/api/v0/bounties/index.rabl:
--------------------------------------------------------------------------------
1 | collection @bounties
2 |
3 | extends "api/v0/bounties/partials/base"
4 | extends "api/v1/bounties/partials/options"
5 | extends "api/v0/bounties/partials/person"
6 |
7 | child(:issue => :issue) do
8 | extends "api/v1/issues/partials/base"
9 | end
--------------------------------------------------------------------------------
/app/views/api/v0/bounties/partials/base.rabl:
--------------------------------------------------------------------------------
1 | extends "api/v1/bounties/partials/base"
2 |
3 | attribute :acknowledged_at
4 | attribute :updated_at
5 | attribute :paid_at
6 | attribute :featured
7 | attribute :owner_id
8 | attribute :owner_type
--------------------------------------------------------------------------------
/app/views/api/v0/bounties/partials/person.rabl:
--------------------------------------------------------------------------------
1 | child(:person) { extends "api/v1/people/partials/base" }
2 |
--------------------------------------------------------------------------------
/app/views/api/v0/bounties/partials/splits.rabl:
--------------------------------------------------------------------------------
1 | child :splits do
2 | extends "api/v1/splits/partials/base"
3 | extends "api/v1/splits/partials/transaction"
4 | end
5 |
--------------------------------------------------------------------------------
/app/views/api/v0/bounties/show.rabl:
--------------------------------------------------------------------------------
1 | object @bounty
2 |
3 | extends "api/v0/bounties/partials/base"
4 | extends "api/v1/bounties/partials/issue"
5 | extends "api/v1/bounties/partials/options"
6 | extends "api/v0/bounties/partials/person"
7 | extends "api/v0/bounties/partials/splits"
8 |
--------------------------------------------------------------------------------
/app/views/api/v0/crypto_pay_out_txns/partials/_base.rabl:
--------------------------------------------------------------------------------
1 | attribute :state
2 | attribute :txn_hash
3 | attribute :confirmed_block
4 | attribute :mined_at
5 | attribute :created_at
6 | attribute :updated_at
7 | attribute :type
--------------------------------------------------------------------------------
/app/views/api/v0/crypto_pay_outs/index.rabl:
--------------------------------------------------------------------------------
1 | collection @crypto_pay_outs
2 |
3 | extends "api/v0/crypto_pay_outs/partials/base"
--------------------------------------------------------------------------------
/app/views/api/v0/crypto_pay_outs/show.rabl:
--------------------------------------------------------------------------------
1 | object @crypto_pay_out
2 |
3 | extends "api/v0/crypto_pay_outs/partials/base"
--------------------------------------------------------------------------------
/app/views/api/v0/delayed_jobs/index.rabl:
--------------------------------------------------------------------------------
1 | collection @delayed_jobs
2 |
3 | extends "api/v0/delayed_jobs/partials/base"
4 | extends "api/v0/delayed_jobs/partials/handler"
--------------------------------------------------------------------------------
/app/views/api/v0/delayed_jobs/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :priority
3 | attribute :attempts
4 | attribute :last_error
5 | attribute :run_at
6 | attribute :locked_at
7 | attribute :failed_at
8 | attribute :locked_by
9 | attribute :created_at
10 | attribute :updated_at
--------------------------------------------------------------------------------
/app/views/api/v0/delayed_jobs/show.rabl:
--------------------------------------------------------------------------------
1 | object @delayed_job
2 |
3 | extends "api/v0/delayed_jobs/partials/base"
4 | extends "api/v0/delayed_jobs/partials/handler"
--------------------------------------------------------------------------------
/app/views/api/v0/developer_goals/index.rabl:
--------------------------------------------------------------------------------
1 | collection @developer_goals
2 |
3 | extends "api/v1/developer_goals/index"
4 | extends "api/v1/developer_goals/partials/issue"
5 |
--------------------------------------------------------------------------------
/app/views/api/v0/events/_base.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.(item, *%i(
2 | id
3 | created_at
4 | distinct_id
5 | event
6 | payload
7 | ))
8 |
9 | json.person do
10 | json.partial! 'api/v2/people/base', item: item.person if item.person
11 | end
12 |
--------------------------------------------------------------------------------
/app/views/api/v0/events/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'api/v0/events/base', as: :item
2 |
--------------------------------------------------------------------------------
/app/views/api/v0/fundraisers/index_for_person.rabl:
--------------------------------------------------------------------------------
1 | collection @fundraisers
2 | extends "api/v1/fundraisers/partials/base"
3 |
--------------------------------------------------------------------------------
/app/views/api/v0/fundraisers/tracker_relations.rabl:
--------------------------------------------------------------------------------
1 | collection @trackers
2 |
3 | extends "api/v1/trackers/partials/base"
4 |
--------------------------------------------------------------------------------
/app/views/api/v0/issue_addresses/index.rabl:
--------------------------------------------------------------------------------
1 | collection @issue_addresses
2 |
3 | extends "api/v0/issue_addresses/partials/base"
--------------------------------------------------------------------------------
/app/views/api/v0/issue_addresses/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :public_address
3 | attribute :created_at
4 | attribute :balance
5 |
6 |
7 | child(:issue) {
8 | attribute :id
9 | attribute :title
10 | attribute :to_param => :slug
11 | }
--------------------------------------------------------------------------------
/app/views/api/v0/issues/counts.rabl:
--------------------------------------------------------------------------------
1 | node(:closed) do
2 | @closed
3 | end
4 |
5 | node(:open) do
6 | @open
7 | end
8 |
9 | node(:paid_out) do
10 | @paid_out
11 | end
12 |
--------------------------------------------------------------------------------
/app/views/api/v0/issues/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :to_param => :slug
3 | attribute :frontend_path
4 | attribute :sanitized_title => :title
5 | attribute :url
6 | attribute :featured
7 | attribute :can_add_bounty
8 | attribute :real_created_at => :created_at
9 | attribute :generic
10 | attribute :paid_out
11 | attribute :bounty_total
12 |
--------------------------------------------------------------------------------
/app/views/api/v0/issues/partials/bounties.rabl:
--------------------------------------------------------------------------------
1 | child(:bounties) do
2 | extends "api/v1/bounties/partials/base"
3 | extends "api/v1/bounties/partials/issue"
4 | extends "api/v1/bounties/partials/owner"
5 |
6 | child(:person) do
7 | extends "api/v1/people/partials/base"
8 | end
9 | end
10 |
--------------------------------------------------------------------------------
/app/views/api/v0/issues/partials/tracker.rabl:
--------------------------------------------------------------------------------
1 | child :tracker => :tracker do
2 | extends "api/v1/trackers/partials/base"
3 | end
4 |
--------------------------------------------------------------------------------
/app/views/api/v0/issues/show.rabl:
--------------------------------------------------------------------------------
1 | object @issue
2 |
3 | extends "api/v1/issues/show"
4 | extends "api/v0/issues/partials/bounties"
5 |
--------------------------------------------------------------------------------
/app/views/api/v0/pledges/index.rabl:
--------------------------------------------------------------------------------
1 | collection @pledges
2 |
3 | extends "api/v1/pledges/partials/base"
4 | extends "api/v1/pledges/partials/fundraiser"
5 | extends "api/v1/pledges/partials/reward"
6 |
7 | extends "api/v0/pledges/partials/person"
8 |
--------------------------------------------------------------------------------
/app/views/api/v0/pledges/partials/person.rabl:
--------------------------------------------------------------------------------
1 | child(:person) { extends "api/v1/people/partials/base" }
2 |
--------------------------------------------------------------------------------
/app/views/api/v0/pledges/partials/splits.rabl:
--------------------------------------------------------------------------------
1 | child :splits do
2 | extends "api/v1/splits/partials/base"
3 | extends "api/v1/splits/partials/transaction"
4 | end
5 |
--------------------------------------------------------------------------------
/app/views/api/v0/pledges/show.rabl:
--------------------------------------------------------------------------------
1 | object @pledge
2 |
3 | attribute :anonymous
4 |
5 | extends "api/v1/pledges/partials/base"
6 | extends "api/v1/pledges/partials/reward"
7 | extends "api/v1/pledges/partials/fundraiser" # still include this for backwards compatibility
8 | extends "api/v0/pledges/partials/person"
9 | extends "api/v0/pledges/partials/splits"
10 |
--------------------------------------------------------------------------------
/app/views/api/v0/report/liability_report.rabl:
--------------------------------------------------------------------------------
1 | object false
2 |
3 | node(:accounts) { @accounts }
--------------------------------------------------------------------------------
/app/views/api/v0/request_for_proposals/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'base', as: :item
2 |
--------------------------------------------------------------------------------
/app/views/api/v0/shorts/_base.jbuilder:
--------------------------------------------------------------------------------
1 | json.(item, :id, :slug, :destination, :created_at)
--------------------------------------------------------------------------------
/app/views/api/v0/shorts/index.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @items, partial: 'api/v0/shorts/base', as: :item
--------------------------------------------------------------------------------
/app/views/api/v0/shorts/show.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'api/v0/shorts/base', item: @item
2 |
--------------------------------------------------------------------------------
/app/views/api/v0/solutions/index.rabl:
--------------------------------------------------------------------------------
1 | collection @solutions
2 |
3 | extends "api/v1/solutions/partials/base"
4 | extends "api/v1/solutions/partials/person"
5 | extends "api/v1/developer_goals/partials/issue"
6 | extends "api/v1/solutions/partials/solution_events"
7 |
--------------------------------------------------------------------------------
/app/views/api/v0/splits/index.rabl:
--------------------------------------------------------------------------------
1 | collection @splits
2 |
3 | extends "api/v1/splits/partials/base"
4 | extends "api/v1/splits/partials/transaction"
5 |
--------------------------------------------------------------------------------
/app/views/api/v0/tag_votes/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'api/v0/tag_votes/base', as: :item
2 |
--------------------------------------------------------------------------------
/app/views/api/v0/tags/_base.json.jbuilder:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/views/api/v0/tags/_base.json.jbuilder
--------------------------------------------------------------------------------
/app/views/api/v0/tags/show.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'api/v2/tags/base', item: @item
2 |
--------------------------------------------------------------------------------
/app/views/api/v0/takedowns/index.rabl:
--------------------------------------------------------------------------------
1 | collection @takedowns
2 |
3 | attribute :id
4 | attribute :created_at
5 | node(:target) { |obj| obj.linked_account.login }
6 |
--------------------------------------------------------------------------------
/app/views/api/v0/team_payins/base.rabl:
--------------------------------------------------------------------------------
1 | extends "api/v1/team_payins/partials/base"
2 | extends "api/v1/team_payins/partials/team"
3 | extends "api/v1/team_payins/partials/person"
4 | child(:owner => :owner) { extends "api/v1/owners/partials/base" }
5 |
--------------------------------------------------------------------------------
/app/views/api/v0/team_payins/index.rabl:
--------------------------------------------------------------------------------
1 | collection @team_payins
2 | extends "api/v0/team_payins/base"
3 |
--------------------------------------------------------------------------------
/app/views/api/v0/team_payins/show.rabl:
--------------------------------------------------------------------------------
1 | object @team_payin
2 | extends "api/v0/team_payins/base"
3 |
--------------------------------------------------------------------------------
/app/views/api/v0/teams/index.rabl:
--------------------------------------------------------------------------------
1 | collection @teams
2 |
3 | extends "api/v1/teams/partials/base"
4 |
5 | #child(:member_relations => :members) { extends "api/v1/teams/partials/member" }
6 |
7 | attribute :account_splits_total
8 | attribute :member_relations_count
9 | attribute :tag_relations_count
10 | attribute :homepage_featured
11 |
--------------------------------------------------------------------------------
/app/views/api/v0/teams/show.rabl:
--------------------------------------------------------------------------------
1 | object @team
2 |
3 | extends "api/v1/teams/show"
4 | extends "api/v1/people/partials/account"
5 |
6 | child(:member_relations => :members) { extends "api/v1/teams/partials/member" }
7 |
8 | node :linked_account_login do |team|
9 | team.linked_account ? team.linked_account.login : nil
10 | end
11 |
12 | attribute :homepage_featured
13 |
--------------------------------------------------------------------------------
/app/views/api/v0/tracker_plugins/index.rabl:
--------------------------------------------------------------------------------
1 | collection @tracker_plugins
2 |
3 | attribute :synced_at
4 | attribute :locked_at
5 | attribute :last_error
6 |
7 | extends "api/v1/tracker_plugins/partials/base"
8 | extends "api/v1/tracker_plugins/partials/person"
9 | extends "api/v0/tracker_plugins/partials/tracker"
10 |
--------------------------------------------------------------------------------
/app/views/api/v0/tracker_plugins/partials/tracker.rabl:
--------------------------------------------------------------------------------
1 | child(:tracker => :tracker) do
2 | extends "api/v1/trackers/partials/base"
3 | extends "api/v1/trackers/partials/extended"
4 | end
5 |
--------------------------------------------------------------------------------
/app/views/api/v0/trackers/index.rabl:
--------------------------------------------------------------------------------
1 | collection @trackers
2 |
3 | extends "api/v1/trackers/partials/base"
4 | extends "api/v1/trackers/partials/extended"
5 |
6 | child :team => :team do
7 | extends "api/v1/teams/partials/base"
8 | end
--------------------------------------------------------------------------------
/app/views/api/v0/trackers/show.rabl:
--------------------------------------------------------------------------------
1 | object @tracker
2 |
3 | extends "api/v1/trackers/partials/base"
4 | extends "api/v1/trackers/partials/extended"
5 | extends "api/v1/trackers/partials/languages"
6 |
7 | child :team => :team do
8 | extends "api/v1/teams/partials/base"
9 | end
--------------------------------------------------------------------------------
/app/views/api/v0/transactions/index.rabl:
--------------------------------------------------------------------------------
1 | collection @transactions
2 |
3 | extends "api/v0/transactions/partials/base"
4 | extends "api/v0/transactions/partials/splits"
5 |
6 | if @person.try(:admin?)
7 | extends "api/v0/transactions/partials/admin"
8 | end
9 |
--------------------------------------------------------------------------------
/app/views/api/v0/transactions/partials/admin.rabl:
--------------------------------------------------------------------------------
1 | attribute :audited
--------------------------------------------------------------------------------
/app/views/api/v0/transactions/partials/base.rabl:
--------------------------------------------------------------------------------
1 | extends "api/v1/transactions/partials/base"
2 |
3 | attribute :description
4 |
--------------------------------------------------------------------------------
/app/views/api/v0/transactions/partials/splits.rabl:
--------------------------------------------------------------------------------
1 | child(:splits) do
2 | extends "api/v1/splits/partials/base"
3 | extends "api/v1/splits/partials/extended"
4 | end
5 |
--------------------------------------------------------------------------------
/app/views/api/v0/transactions/show.rabl:
--------------------------------------------------------------------------------
1 | object @transaction
2 |
3 | extends "api/v0/transactions/partials/base"
4 | extends "api/v0/transactions/partials/splits"
5 |
6 | if @person.try(:admin?)
7 | extends "api/v0/transactions/partials/admin"
8 | end
9 |
--------------------------------------------------------------------------------
/app/views/api/v1/accounts/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :type
3 | attribute :balance
4 | attribute :currency
5 | attribute :name
6 | attribute :created_at
7 | attribute :updated_at
8 | attribute :owner_id
9 | attribute :owner_type
--------------------------------------------------------------------------------
/app/views/api/v1/accounts/partials/extended.rabl:
--------------------------------------------------------------------------------
1 | object @account
2 |
3 | child (:transactions) do
4 | extends "api/v1/transactions/partials/base"
5 | extends "api/v0/transactions/partials/splits"
6 | end
7 |
--------------------------------------------------------------------------------
/app/views/api/v1/accounts/partials/owner.rabl:
--------------------------------------------------------------------------------
1 | child(:owner => :owner) { extends "api/v1/owners/partials/base" }
--------------------------------------------------------------------------------
/app/views/api/v1/accounts/show.rabl:
--------------------------------------------------------------------------------
1 | object @account
2 | extends "api/v1/accounts/partials/base"
3 |
4 | child (:transactions) do
5 | extends "api/v1/transactions/partials/base"
6 | end
7 |
8 |
--------------------------------------------------------------------------------
/app/views/api/v1/ad_spaces/index.rabl:
--------------------------------------------------------------------------------
1 | collection @ad_spaces
2 |
3 | extends "api/v1/ad_spaces/partials/base"
--------------------------------------------------------------------------------
/app/views/api/v1/ad_spaces/partials/_base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :title
3 | attribute :text
4 | attribute :button_text
5 | attribute :button_url
6 | attribute :image_url
7 | attribute :medium_image_url
8 | attribute :large_image_url
9 | attribute :position
--------------------------------------------------------------------------------
/app/views/api/v1/bounties/index.rabl:
--------------------------------------------------------------------------------
1 | collection @bounties
2 |
3 | extends "api/v1/bounties/partials/base"
4 | extends "api/v1/bounties/partials/issue"
5 | extends "api/v1/bounties/partials/pact"
6 | extends "api/v1/bounties/partials/owner"
--------------------------------------------------------------------------------
/app/views/api/v1/bounties/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :amount
3 | attribute :created_at
4 | attribute :status
5 |
6 | if can?(:manage, root_object)
7 | attribute :anonymous
8 | end
9 |
--------------------------------------------------------------------------------
/app/views/api/v1/bounties/partials/issue.rabl:
--------------------------------------------------------------------------------
1 | child(:issue => :issue) do
2 | extends "api/v1/issues/partials/base"
3 | extends "api/v1/issues/partials/extended"
4 | extends "api/v1/issues/partials/tracker"
5 | end
6 |
--------------------------------------------------------------------------------
/app/views/api/v1/bounties/partials/options.rabl:
--------------------------------------------------------------------------------
1 | attribute :bounty_expiration
2 | attribute :upon_expiration
3 | attribute :promotion
4 | attribute :tweet
5 |
--------------------------------------------------------------------------------
/app/views/api/v1/bounties/partials/owner.rabl:
--------------------------------------------------------------------------------
1 | child(:owner => :owner) { extends "api/v1/owners/partials/base" }
--------------------------------------------------------------------------------
/app/views/api/v1/bounties/partials/pact.rabl:
--------------------------------------------------------------------------------
1 | child(:pact => :pact) do
2 | extends "api/v1/pacts/partials/base"
3 | end
4 |
--------------------------------------------------------------------------------
/app/views/api/v1/bounties/partials/person.rabl:
--------------------------------------------------------------------------------
1 | node(:person) do |bounty|
2 | if can?(:read_anonymous, bounty)
3 | partial "people/partials/base", object: bounty.owner
4 | end
5 | end
6 |
--------------------------------------------------------------------------------
/app/views/api/v1/bounties/partials/splits.rabl:
--------------------------------------------------------------------------------
1 | child :splits do
2 | extends "api/v1/splits/partials/base"
3 | extends "api/v1/splits/partials/transaction"
4 | end
--------------------------------------------------------------------------------
/app/views/api/v1/bounties/show.rabl:
--------------------------------------------------------------------------------
1 | object @bounty
2 |
3 | extends "api/v1/bounties/partials/base"
4 | extends "api/v1/bounties/partials/issue"
5 | extends "api/v1/bounties/partials/owner"
6 |
--------------------------------------------------------------------------------
/app/views/api/v1/bounty_claim_events/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :type
3 | attribute :description
4 | attribute :created_at
--------------------------------------------------------------------------------
/app/views/api/v1/bounty_claim_events/partials/bounty_claim.rabl:
--------------------------------------------------------------------------------
1 | child(:bounty_claim => :bounty_claim) do
2 | child(:issue) do
3 | attribute :id
4 | attribute :to_param => :slug
5 | attribute :frontend_path
6 | attribute :title
7 |
8 | end
9 | end
--------------------------------------------------------------------------------
/app/views/api/v1/bounty_claim_events/partials/person.rabl:
--------------------------------------------------------------------------------
1 | child(:person => :person) { extends "api/v1/people/partials/base" }
--------------------------------------------------------------------------------
/app/views/api/v1/bounty_claim_responses/index.rabl:
--------------------------------------------------------------------------------
1 | collection @bounty_claim_responses
2 |
3 | extends "api/v1/bounty_claim_responses/partials/base"
4 | extends "api/v1/bounty_claim_responses/partials/owner"
5 |
--------------------------------------------------------------------------------
/app/views/api/v1/bounty_claim_responses/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :value
3 | attribute :description
4 | attribute :created_at
5 | attribute :updated_at
6 |
--------------------------------------------------------------------------------
/app/views/api/v1/bounty_claim_responses/partials/bounty_claim.rabl:
--------------------------------------------------------------------------------
1 | child(:bounty_claim) { extends "api/v1/bounty_claims/partials/base" }
--------------------------------------------------------------------------------
/app/views/api/v1/bounty_claim_responses/partials/owner.rabl:
--------------------------------------------------------------------------------
1 | child(:owner => :person) { extends "api/v1/owners/partials/base" }
2 |
--------------------------------------------------------------------------------
/app/views/api/v1/bounty_claim_responses/partials/person.rabl:
--------------------------------------------------------------------------------
1 | child(:person) { extends "api/v1/people/partials/base" }
--------------------------------------------------------------------------------
/app/views/api/v1/bounty_claim_responses/show.rabl:
--------------------------------------------------------------------------------
1 | object @bounty_claim_response
2 |
3 | extends "api/v1/bounty_claim_responses/partials/base"
4 | extends "api/v1/bounty_claim_responses/partials/person"
5 | extends "api/v1/bounty_claim_responses/partials/bounty_claim"
--------------------------------------------------------------------------------
/app/views/api/v1/bounty_claims/partials/bounty_claim_events.rabl:
--------------------------------------------------------------------------------
1 | child(:bounty_claim_events => :events) do
2 | extends "api/v1/bounty_claim_events/partials/base"
3 | extends "api/v1/bounty_claim_events/partials/person"
4 | end
--------------------------------------------------------------------------------
/app/views/api/v1/bounty_claims/partials/bounty_claim_responses.rabl:
--------------------------------------------------------------------------------
1 | child(:bounty_claim_responses => :responses) { extends "api/v1/bounty_claim_responses/index" }
--------------------------------------------------------------------------------
/app/views/api/v1/bounty_claims/partials/extended.rabl:
--------------------------------------------------------------------------------
1 | attribute :contested? => :contested
2 | attribute :backers_count
3 | attribute :accept_count
4 | attribute :reject_count
5 |
6 | if can? :manage, root_object
7 | attribute :paid_out
8 | attribute :updated_at
9 | end
10 |
--------------------------------------------------------------------------------
/app/views/api/v1/bounty_claims/partials/issue.rabl:
--------------------------------------------------------------------------------
1 | child(:issue) { extends "api/v1/issues/partials/base" }
--------------------------------------------------------------------------------
/app/views/api/v1/bounty_claims/partials/pact.rabl:
--------------------------------------------------------------------------------
1 | child(:pact) { extends "api/v1/pacts/partials/base" }
--------------------------------------------------------------------------------
/app/views/api/v1/bounty_claims/partials/person.rabl:
--------------------------------------------------------------------------------
1 | child(:person) { extends "api/v1/people/partials/base" }
--------------------------------------------------------------------------------
/app/views/api/v1/bounty_claims/partials/responses.rabl:
--------------------------------------------------------------------------------
1 | child(:bounty_claim_responses => :responses) { extends "api/v1/bounty_claim_responses/partials/base" }
--------------------------------------------------------------------------------
/app/views/api/v1/bulk/issues.rabl:
--------------------------------------------------------------------------------
1 | collection @issues
2 |
3 | extends "api/v1/issues/partials/base"
--------------------------------------------------------------------------------
/app/views/api/v1/cards/index.rabl:
--------------------------------------------------------------------------------
1 | object false
2 |
3 | child @cards[:fundraisers] => :fundraisers do
4 | extends('api/v1/fundraisers/partials/card')
5 | end
6 |
7 | child @cards[:repositories] => :repositories do
8 | extends('api/v1/trackers/partials/card')
9 | end
10 |
11 | child @cards[:issues] => :issues do
12 | extends('api/v1/issues/partials/card')
13 | end
14 |
--------------------------------------------------------------------------------
/app/views/api/v1/crypto_bounties/index.rabl:
--------------------------------------------------------------------------------
1 | collection @crypto_bounties
2 |
3 | extends "api/v1/crypto_bounties/partials/base"
4 | extends "api/v1/crypto_bounties/partials/owner"
--------------------------------------------------------------------------------
/app/views/api/v1/crypto_bounties/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :amount
3 | attribute :created_at
4 | attribute :status
5 | attribute :anonymous
6 | attribute :transaction_hash
--------------------------------------------------------------------------------
/app/views/api/v1/crypto_bounties/partials/owner.rabl:
--------------------------------------------------------------------------------
1 | child(:owner => :owner) { extends "api/v1/owners/partials/base" }
--------------------------------------------------------------------------------
/app/views/api/v1/crypto_pay_outs/index.rabl:
--------------------------------------------------------------------------------
1 | collection @crypto_pay_outs
2 |
3 | extends "api/v1/crypto_pay_outs/partials/base"
--------------------------------------------------------------------------------
/app/views/api/v1/developer_goals/index.rabl:
--------------------------------------------------------------------------------
1 | collection @developer_goals
2 |
3 | extends "api/v1/developer_goals/partials/base"
4 | extends "api/v1/developer_goals/partials/person"
5 |
--------------------------------------------------------------------------------
/app/views/api/v1/developer_goals/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :amount
3 | attribute :created_at
4 | attribute :updated_at
5 |
--------------------------------------------------------------------------------
/app/views/api/v1/developer_goals/partials/issue.rabl:
--------------------------------------------------------------------------------
1 | child(:issue => :issue) { extends "api/v1/issues/partials/base" }
2 |
--------------------------------------------------------------------------------
/app/views/api/v1/developer_goals/partials/person.rabl:
--------------------------------------------------------------------------------
1 | child(:person) { extends "api/v1/people/partials/base" }
2 |
--------------------------------------------------------------------------------
/app/views/api/v1/developer_goals/show.rabl:
--------------------------------------------------------------------------------
1 | object @developer_goal
2 |
3 | extends "api/v1/developer_goals/partials/base"
4 |
--------------------------------------------------------------------------------
/app/views/api/v1/doge_issues/index.rabl:
--------------------------------------------------------------------------------
1 | collection @issues
2 |
3 | extends "api/v1/doge_issues/partials/issue"
4 |
--------------------------------------------------------------------------------
/app/views/api/v1/doge_issues/partials/issue.rabl:
--------------------------------------------------------------------------------
1 | extends "api/v1/issues/partials/base"
2 | child :tracker => :tracker do
3 | extends "api/v1/trackers/partials/base"
4 | end
5 |
--------------------------------------------------------------------------------
/app/views/api/v1/doge_issues/ranked_index.rabl:
--------------------------------------------------------------------------------
1 | collection @issue_ranks
2 |
3 | attribute :rank
4 | node(:relevance) do |issue_rank|
5 | [(issue_rank.rank.to_f / @max_rank.to_f) * 100, 100].min.round
6 | end
7 |
8 | glue(:issue => :issue) { extends "api/v1/doge_issues/partials/issue" }
9 |
--------------------------------------------------------------------------------
/app/views/api/v1/follow_relations/index.rabl:
--------------------------------------------------------------------------------
1 | collection @follow_relations
2 |
3 | extends "api/v1/follow_relations/partials/base"
4 | extends "api/v1/follow_relations/partials/item"
5 | extends "api/v1/follow_relations/partials/person"
--------------------------------------------------------------------------------
/app/views/api/v1/follow_relations/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :created_at
3 | attribute :updated_at
4 | attribute :active
5 | attribute :item_type
6 | attribute :item_id
7 |
--------------------------------------------------------------------------------
/app/views/api/v1/follow_relations/partials/item.rabl:
--------------------------------------------------------------------------------
1 | node(:item) do |follow_relation|
2 | case follow_relation.item
3 | when Tracker then partial "trackers/partials/base", object: follow_relation.item
4 | end
5 | end
6 |
--------------------------------------------------------------------------------
/app/views/api/v1/follow_relations/partials/person.rabl:
--------------------------------------------------------------------------------
1 | child(:person) { extends "api/v1/people/partials/base" }
--------------------------------------------------------------------------------
/app/views/api/v1/follow_relations/show.rabl:
--------------------------------------------------------------------------------
1 | object @follow_relation
2 |
3 | extends "api/v1/follow_relations/partials/base"
4 | extends "api/v1/follow_relations/partials/item"
--------------------------------------------------------------------------------
/app/views/api/v1/fundraisers/admin.rabl:
--------------------------------------------------------------------------------
1 | object @fundraiser
2 |
3 | extends "api/v1/fundraisers/partials/base"
4 | extends "api/v1/fundraisers/partials/extended"
5 | extends "api/v1/fundraisers/partials/account"
6 | extends "api/v1/fundraisers/partials/rewards"
7 |
--------------------------------------------------------------------------------
/app/views/api/v1/fundraisers/cards.rabl:
--------------------------------------------------------------------------------
1 | object false
2 |
3 | node(:in_progress) { partial "api/v1/fundraisers/partials/card", object: @in_progress }
4 | node(:completed) { partial "api/v1/fundraisers/partials/card", object: @completed }
5 |
--------------------------------------------------------------------------------
/app/views/api/v1/fundraisers/index.rabl:
--------------------------------------------------------------------------------
1 | collection @fundraisers
2 |
3 | extends "api/v1/fundraisers/partials/base"
4 | child :person do
5 | extends "api/v1/people/partials/base"
6 | end
7 | # child :team => :team do
8 | # extends "api/v1/teams/partials/base"
9 | # end
10 |
--------------------------------------------------------------------------------
/app/views/api/v1/fundraisers/info.rabl:
--------------------------------------------------------------------------------
1 | object @fundraiser
2 |
3 | extends "api/v1/fundraisers/partials/base"
4 | extends "api/v1/fundraisers/partials/extended"
5 | extends "api/v1/fundraisers/partials/rewards"
6 |
--------------------------------------------------------------------------------
/app/views/api/v1/fundraisers/partials/account.rabl:
--------------------------------------------------------------------------------
1 | child :account => :account do
2 | extends "api/v1/accounts/partials/base"
3 | end
4 |
--------------------------------------------------------------------------------
/app/views/api/v1/fundraisers/partials/card.rabl:
--------------------------------------------------------------------------------
1 | extends "api/v1/fundraisers/partials/base"
2 |
3 | child(:person) { extends "api/v1/people/partials/base" }
--------------------------------------------------------------------------------
/app/views/api/v1/fundraisers/partials/rewards.rabl:
--------------------------------------------------------------------------------
1 | child :rewards do
2 | extends "api/v1/rewards/partials/base"
3 |
4 | child :pledges do
5 | extends "api/v1/pledges/partials/base"
6 | extends "api/v1/pledges/partials/owner"
7 | end
8 | end
9 |
10 |
--------------------------------------------------------------------------------
/app/views/api/v1/fundraisers/partials/team.rabl:
--------------------------------------------------------------------------------
1 | child :team => :team do
2 | extends "api/v1/teams/partials/base"
3 | extends "api/v1/teams/partials/extended"
4 |
5 | child :public_member_relations => :members do
6 | extends "api/v1/teams/partials/member"
7 | end
8 | end
9 |
--------------------------------------------------------------------------------
/app/views/api/v1/fundraisers/show.rabl:
--------------------------------------------------------------------------------
1 | object @fundraiser
2 |
3 | extends "api/v1/fundraisers/partials/base"
4 | extends "api/v1/fundraisers/partials/extended"
5 | extends "api/v1/fundraisers/partials/team"
6 |
--------------------------------------------------------------------------------
/app/views/api/v1/fundraisers/updates/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :number
3 | attribute :published_at
4 | attribute :updated_at
5 | attribute :title
6 | attribute :frontend_path
7 | attribute :frontend_url
8 |
--------------------------------------------------------------------------------
/app/views/api/v1/fundraisers/updates/partials/extended.rabl:
--------------------------------------------------------------------------------
1 | attribute :body
--------------------------------------------------------------------------------
/app/views/api/v1/github_repositories/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :name
3 | attribute :url
4 | attribute :bounty_total
5 |
--------------------------------------------------------------------------------
/app/views/api/v1/issue_addresses/create.rabl:
--------------------------------------------------------------------------------
1 | object @issue
2 |
3 | extends "api/v1/issues/partials/base"
4 |
--------------------------------------------------------------------------------
/app/views/api/v1/issue_addresses/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :public_address
2 | attribute :balance
--------------------------------------------------------------------------------
/app/views/api/v1/issues/authored.rabl:
--------------------------------------------------------------------------------
1 | collection @issues
2 |
3 | extends "api/v1/issues/partials/base"
4 | extends "api/v1/issues/partials/tracker"
5 |
--------------------------------------------------------------------------------
/app/views/api/v1/issues/bounties.rabl:
--------------------------------------------------------------------------------
1 | collection @bounties
2 |
3 | extends "api/v1/bounties/partials/base"
4 | extends "api/v1/bounties/partials/owner"
--------------------------------------------------------------------------------
/app/views/api/v1/issues/featured.rabl:
--------------------------------------------------------------------------------
1 | collection @issues
2 |
3 | extends "api/v1/issues/partials/base"
4 | extends "api/v1/issues/partials/tracker"
5 |
--------------------------------------------------------------------------------
/app/views/api/v1/issues/index.rabl:
--------------------------------------------------------------------------------
1 | collection @issues
2 |
3 | extends "api/v1/issues/partials/base"
4 |
5 | child(:accepted_bounty_claim => :accepted_bounty_claim) { extends "api/v1/bounty_claims/partials/base" }
--------------------------------------------------------------------------------
/app/views/api/v1/issues/overview.rabl:
--------------------------------------------------------------------------------
1 | collection @issues
2 |
3 | extends "api/v1/issues/partials/base"
4 | extends "api/v1/issues/partials/tracker"
5 | extends "api/v1/issues/partials/bounties"
6 |
--------------------------------------------------------------------------------
/app/views/api/v1/issues/partials/bounties.rabl:
--------------------------------------------------------------------------------
1 | child(:visible_bounties => :bounties) do
2 | extends "api/v1/bounties/partials/base"
3 | extends "api/v1/bounties/partials/issue"
4 | extends "api/v1/bounties/partials/owner"
5 | end
6 |
--------------------------------------------------------------------------------
/app/views/api/v1/issues/partials/bounty_claims.rabl:
--------------------------------------------------------------------------------
1 | child(:bounty_claims) { extends "api/v1/bounty_claims/index" }
--------------------------------------------------------------------------------
/app/views/api/v1/issues/partials/card.rabl:
--------------------------------------------------------------------------------
1 | attribute :card_id
2 | extends "api/v1/issues/partials/base"
3 | extends "api/v1/issues/partials/tracker"
4 |
--------------------------------------------------------------------------------
/app/views/api/v1/issues/partials/comments.rabl:
--------------------------------------------------------------------------------
1 | child(:comments) do |issue|
2 | attribute :sanitized_body_html => :body_html
3 | attribute :created_at
4 | extends "api/v1/authors/partials/base"
5 | end
6 |
--------------------------------------------------------------------------------
/app/views/api/v1/issues/partials/extended.rabl:
--------------------------------------------------------------------------------
1 | attribute :frontend_url
2 | attribute :sanitized_body_html => :body_html
3 |
4 | node(:can_respond_to_claims) do |issue|
5 | issue.can_respond_to_claims?(@person)
6 | end
--------------------------------------------------------------------------------
/app/views/api/v1/issues/partials/tracker.rabl:
--------------------------------------------------------------------------------
1 | child :tracker => :tracker do
2 | extends "api/v1/trackers/partials/base"
3 | extends "api/v1/trackers/partials/extended"
4 | extends "api/v1/trackers/partials/languages"
5 | end
6 |
--------------------------------------------------------------------------------
/app/views/api/v1/issues/waiting_for_developer.rabl:
--------------------------------------------------------------------------------
1 | extends "api/v1/issues/index"
2 |
3 | child(:accepted_bounty_claim => :accepted_bounty_claim) { extends "api/v1/bounty_claims/partials/base" }
--------------------------------------------------------------------------------
/app/views/api/v1/languages/index.rabl:
--------------------------------------------------------------------------------
1 | collection @languages
2 |
3 | extends "api/v1/languages/partials/base"
4 |
--------------------------------------------------------------------------------
/app/views/api/v1/languages/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :name
3 | node(:weight) { root_object.search_weight || 0 }
4 |
--------------------------------------------------------------------------------
/app/views/api/v1/linked_accounts/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :uid
3 | attribute :login
4 | attribute :login => :display_name
5 | attribute :image_url
6 | attribute :medium_image_url
7 | attribute :large_image_url
8 | attribute :followers
9 | attribute :following
10 |
--------------------------------------------------------------------------------
/app/views/api/v1/linked_accounts/partials/extended.rabl:
--------------------------------------------------------------------------------
1 | attribute :anonymous
2 | attribute :account_balance
3 | attribute :first_name
4 | attribute :last_name
5 | attribute :email
6 |
--------------------------------------------------------------------------------
/app/views/api/v1/linked_accounts/partials/faux_person.rabl:
--------------------------------------------------------------------------------
1 | node(:type) { |linked_account| linked_account.class.name }
2 | attribute :name => :display_name
3 | attribute :image_url
4 | attribute :medium_image_url
5 | attribute :large_image_url
6 |
7 |
--------------------------------------------------------------------------------
/app/views/api/v1/linked_accounts/show.rabl:
--------------------------------------------------------------------------------
1 | object @linked_account
2 |
3 | extends "api/v1/linked_accounts/partials/base"
4 | extends "api/v1/linked_accounts/partials/extended" if can? :manage, @linked_account
--------------------------------------------------------------------------------
/app/views/api/v1/notifications/partials/base.rabl:
--------------------------------------------------------------------------------
1 | child(:person) do
2 | attribute :display_name
3 | attribute :image_url
4 | attribute :frontend_path
5 | end
--------------------------------------------------------------------------------
/app/views/api/v1/notifications/partials/bounty.rabl:
--------------------------------------------------------------------------------
1 | extends "api/v1/notifications/partials/base"
2 |
3 | attribute :amount
4 | attribute :created_at
5 |
6 | child(:issue) do
7 | attribute :title
8 | attribute :frontend_path
9 | end
10 |
--------------------------------------------------------------------------------
/app/views/api/v1/notifications/partials/fundraiser.rabl:
--------------------------------------------------------------------------------
1 | extends "api/v1/notifications/partials/base"
2 |
3 | attribute :title
4 | attribute :frontend_path
5 |
--------------------------------------------------------------------------------
/app/views/api/v1/notifications/partials/pledge.rabl:
--------------------------------------------------------------------------------
1 | extends "api/v1/notifications/partials/base"
2 |
3 | attribute :amount
4 |
5 | child(:fundraiser) { attributes :title, :frontend_path }
6 |
--------------------------------------------------------------------------------
/app/views/api/v1/owners/partials/base.rabl:
--------------------------------------------------------------------------------
1 | node(:type) { |owner| owner.class.name }
2 |
3 | attribute :id
4 | attribute :display_name
5 | attribute :to_param => :slug
6 | attribute :image_url
7 | attribute :medium_image_url
8 | attribute :large_image_url
9 | attribute :created_at
--------------------------------------------------------------------------------
/app/views/api/v1/pacts/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :project_name
3 | attribute :project_description
4 | attribute :created_at
5 | attribute :updated_at
6 | attribute :completed_at
7 | attribute :paid_at
8 | attribute :bounty_total
9 | attribute :featured
10 |
--------------------------------------------------------------------------------
/app/views/api/v1/pacts/partials/search.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :project_name => :title
3 | attribute :project_description => :description
4 | attribute :created_at
5 | attribute :updated_at
6 | attribute :bounty_total
7 | attribute :featured
8 | attribute :to_param => :slug
9 |
--------------------------------------------------------------------------------
/app/views/api/v1/paypal_ipns/index.rabl:
--------------------------------------------------------------------------------
1 | collection @paypal_ipns
2 |
3 | extends "api/v1/paypal_ipns/partials/base"
4 | extends "api/v1/paypal_ipns/partials/transaction"
--------------------------------------------------------------------------------
/app/views/api/v1/paypal_ipns/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :created_at
2 | node(:mc_gross) { |ipn| ipn.mc_gross }
3 | node(:mc_fee) { |ipn| ipn.mc_fee }
4 | node(:handling_amount) { |ipn| ipn.handling_amount rescue 0.0 }
5 | node(:payer_email) { |ipn| ipn.payer_email }
6 |
--------------------------------------------------------------------------------
/app/views/api/v1/paypal_ipns/partials/transaction.rabl:
--------------------------------------------------------------------------------
1 | child :transaction do
2 | extends "api/v1/transactions/partials/base"
3 | end
--------------------------------------------------------------------------------
/app/views/api/v1/people/bounty_total.rabl:
--------------------------------------------------------------------------------
1 | object false
2 |
3 | node(:bounty_total) {|_| @bounty_total}
--------------------------------------------------------------------------------
/app/views/api/v1/people/contributions.rabl:
--------------------------------------------------------------------------------
1 | object @person
2 |
3 | extends "api/v1/people/partials/bounties"
4 | extends "api/v1/people/partials/pledges"
--------------------------------------------------------------------------------
/app/views/api/v1/people/create.rabl:
--------------------------------------------------------------------------------
1 | object @person
2 |
3 | attributes :current_access_token => :access_token
4 | attributes :email
5 |
6 | extends "api/v1/people/show"
7 |
--------------------------------------------------------------------------------
/app/views/api/v1/people/crypto_bounties.rabl:
--------------------------------------------------------------------------------
1 | collection @crypto_bounties
2 |
3 | extends "api/v1/crypto_bounties/partials/base"
4 | extends "api/v1/crypto_bounties/partials/owner"
5 |
6 | child (:issue) do
7 | extends "api/v1/issues/partials/base"
8 |
9 | child(:tracker => :tracker) do
10 | extends "api/v1/trackers/partials/base"
11 | end
12 | end
13 |
--------------------------------------------------------------------------------
/app/views/api/v1/people/crypto_pay_outs.rabl:
--------------------------------------------------------------------------------
1 | collection @crypto_pay_outs
2 |
3 | extends "api/v0/crypto_pay_outs/partials/base"
--------------------------------------------------------------------------------
/app/views/api/v1/people/index.rabl:
--------------------------------------------------------------------------------
1 | collection @people
2 |
3 | extends "api/v1/people/partials/base"
4 |
5 | child(:github_account => :github_account) do
6 | extends "api/v1/linked_accounts/partials/base"
7 | end
8 |
9 | child(:twitter_account => :twitter_account) do
10 | extends "api/v1/linked_accounts/partials/base"
11 | end
--------------------------------------------------------------------------------
/app/views/api/v1/people/languages.rabl:
--------------------------------------------------------------------------------
1 | collection @languages
2 |
3 | extends "api/v1/languages/partials/base"
--------------------------------------------------------------------------------
/app/views/api/v1/people/login.rabl:
--------------------------------------------------------------------------------
1 | object @person
2 |
3 | extends "api/v1/people/partials/base"
4 | extends "api/v1/people/partials/extended"
5 | extends "api/v1/people/partials/authenticated"
6 |
--------------------------------------------------------------------------------
/app/views/api/v1/people/pacts.rabl:
--------------------------------------------------------------------------------
1 | collection @pacts
2 |
3 | extends "api/v1/pacts/partials/base"
--------------------------------------------------------------------------------
/app/views/api/v1/people/partials/account.rabl:
--------------------------------------------------------------------------------
1 | node(:account) { |person|
2 | if person.account
3 | partial "api/v1/accounts/partials/base", object: person.account
4 | else
5 | {
6 | id: nil,
7 | type: person.account_class.name,
8 | balance: 0
9 | }
10 | end
11 | }
12 |
--------------------------------------------------------------------------------
/app/views/api/v1/people/partials/authenticated.rabl:
--------------------------------------------------------------------------------
1 | attribute :current_access_token => :access_token
--------------------------------------------------------------------------------
/app/views/api/v1/people/partials/bounties.rabl:
--------------------------------------------------------------------------------
1 | child(:bounties) do
2 | extends "api/v1/bounties/partials/base"
3 | extends "api/v1/bounties/partials/issue"
4 | end
--------------------------------------------------------------------------------
/app/views/api/v1/people/partials/extended.rabl:
--------------------------------------------------------------------------------
1 | attribute :first_name
2 | attribute :last_name
3 | attribute :email
4 | attribute :last_seen_at
5 | attribute :updated_at
6 | attribute :paypal_email
7 | node(:has_verified_wallet){ |person| person.has_verified_wallet? }
--------------------------------------------------------------------------------
/app/views/api/v1/people/partials/facebook_account.rabl:
--------------------------------------------------------------------------------
1 | node :facebook_account do |person|
2 | partial "api/v1/linked_accounts/partials/base", object: person.facebook_account
3 | end
4 |
--------------------------------------------------------------------------------
/app/views/api/v1/people/partials/fundraisers.rabl:
--------------------------------------------------------------------------------
1 | child(:fundraisers) do
2 | collection @fundraisers
3 | extends "api/v1/fundraisers/partials/base"
4 | end
5 |
--------------------------------------------------------------------------------
/app/views/api/v1/people/partials/github_account.rabl:
--------------------------------------------------------------------------------
1 | child(root_object.github_account => :github_account) do |github_account|
2 | extends "api/v1/linked_accounts/partials/base"
3 |
4 | node(:permissions) { github_account.permissions }
5 | end
6 |
--------------------------------------------------------------------------------
/app/views/api/v1/people/partials/pledges.rabl:
--------------------------------------------------------------------------------
1 | child :pledges do
2 | extends "api/v1/pledges/partials/base"
3 | extends "api/v1/pledges/partials/fundraiser"
4 | end
5 |
--------------------------------------------------------------------------------
/app/views/api/v1/people/partials/teams.rabl:
--------------------------------------------------------------------------------
1 | attribute :created_at => :added_at
2 |
3 | glue(:team) { extends "api/v1/teams/partials/base" }
--------------------------------------------------------------------------------
/app/views/api/v1/people/partials/twitter_account.rabl:
--------------------------------------------------------------------------------
1 | node :twitter_account do |person|
2 | partial "api/v1/linked_accounts/partials/base", object: person.twitter_account
3 | end
4 |
--------------------------------------------------------------------------------
/app/views/api/v1/people/partials/wallets.rabl:
--------------------------------------------------------------------------------
1 | child :wallets do
2 | attribute :id
3 | attribute :eth_addr
4 | attribute :verified
5 | attribute :primary
6 | end
--------------------------------------------------------------------------------
/app/views/api/v1/people/projects.rabl:
--------------------------------------------------------------------------------
1 | collection @tracker_relations
2 |
3 | glue(:tracker => :project) { extends "api/v1/trackers/partials/base" }
--------------------------------------------------------------------------------
/app/views/api/v1/people/recent.rabl:
--------------------------------------------------------------------------------
1 | object false
2 |
3 | node(:total_count) { @total_count }
4 |
5 | child(@people) do
6 | extends "api/v1/people/partials/base"
7 | end
8 |
--------------------------------------------------------------------------------
/app/views/api/v1/people/tracker_plugins.rabl:
--------------------------------------------------------------------------------
1 | collection @tracker_plugins
2 |
3 | extends "api/v1/tracker_plugins/partials/base"
4 | extends "api/v1/tracker_plugins/partials/tracker"
--------------------------------------------------------------------------------
/app/views/api/v1/pledges/index.rabl:
--------------------------------------------------------------------------------
1 | collection @pledges
2 |
3 | extends "api/v1/pledges/partials/base"
4 | extends "api/v1/pledges/partials/owner"
5 |
--------------------------------------------------------------------------------
/app/views/api/v1/pledges/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :amount
3 | attribute :created_at
4 |
5 | # survey response if you are the owner of the pledge, or the creator of the fundraiser
6 | if can?(:manage, root_object)
7 | attribute :survey_response
8 | attribute :anonymous
9 | end
10 |
--------------------------------------------------------------------------------
/app/views/api/v1/pledges/partials/fundraiser.rabl:
--------------------------------------------------------------------------------
1 | child(:fundraiser) do
2 | extends "api/v1/fundraisers/partials/base"
3 | extends "api/v1/fundraisers/partials/extended" if can? :manage, root_object
4 | end
5 |
--------------------------------------------------------------------------------
/app/views/api/v1/pledges/partials/owner.rabl:
--------------------------------------------------------------------------------
1 | child(:owner => :owner) { extends "api/v1/owners/partials/base" }
--------------------------------------------------------------------------------
/app/views/api/v1/pledges/partials/person.rabl:
--------------------------------------------------------------------------------
1 | node(:person) do |pledge|
2 | if can?(:read_anonymous, pledge)
3 | partial "people/partials/base", object: pledge.owner
4 | end
5 | end
--------------------------------------------------------------------------------
/app/views/api/v1/pledges/partials/reward.rabl:
--------------------------------------------------------------------------------
1 | child(:reward) { extends "api/v1/rewards/partials/base" }
--------------------------------------------------------------------------------
/app/views/api/v1/pledges/recent.rabl:
--------------------------------------------------------------------------------
1 | collection @pledges
2 |
3 | extends "api/v1/pledges/partials/base"
4 | extends "api/v1/pledges/partials/fundraiser"
5 |
6 | extends "api/v1/pledges/partials/owner"
7 |
--------------------------------------------------------------------------------
/app/views/api/v1/pledges/show.rabl:
--------------------------------------------------------------------------------
1 | object @pledge
2 |
3 | extends "api/v1/pledges/partials/base"
4 | extends "api/v1/pledges/partials/reward"
5 | extends "api/v1/pledges/partials/fundraiser" # still include this for backwards compatibility
6 | extends "api/v1/pledges/partials/owner"
7 |
--------------------------------------------------------------------------------
/app/views/api/v1/pledges/top_backers.rabl:
--------------------------------------------------------------------------------
1 | collection @owners_array
2 |
3 | attribute :amount, :created_at
4 |
5 | node(:owner) do |pledge|
6 | partial("owners/partials/base", object: pledge.owner)
7 | end
8 |
--------------------------------------------------------------------------------
/app/views/api/v1/proposals/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :amount
3 | attribute :estimated_work
4 | attribute :completed_by
5 | attribute :abstract
6 | attribute :bio
7 | attribute :state
8 | attribute :created_at
9 | attribute :updated_at
--------------------------------------------------------------------------------
/app/views/api/v1/rewards/index.rabl:
--------------------------------------------------------------------------------
1 | collection @rewards
2 | extends "api/v1/rewards/partials/base"
--------------------------------------------------------------------------------
/app/views/api/v1/rewards/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :amount
3 | attribute :description
4 | attribute :claimed
5 | attribute :limited_to
6 | attribute :sold_out
7 | attribute :created_at
8 | attribute :fulfillment_details
9 |
--------------------------------------------------------------------------------
/app/views/api/v1/rewards/partials/extended.rabl:
--------------------------------------------------------------------------------
1 | extends "api/v1/rewards/partials/base"
2 |
3 | attribute :updated_at
4 | attribute :delivered_at
5 |
6 | child(:pledges) {
7 | child(:person) { extends "api/v1/people/partials/base" }
8 | extends "api/v1/pledges/partials/base"
9 | }
--------------------------------------------------------------------------------
/app/views/api/v1/rewards/show.rabl:
--------------------------------------------------------------------------------
1 | object @reward
2 | extends "api/v1/rewards/partials/base"
--------------------------------------------------------------------------------
/app/views/api/v1/saved_search_tabs/index.rabl:
--------------------------------------------------------------------------------
1 | collection @saved_search_tabs
2 |
3 | attribute :name
4 | attribute :created_at
5 | attribute :query
6 | attribute :locked
7 |
8 | # extends "api/v1/issues/partials/base"
9 |
--------------------------------------------------------------------------------
/app/views/api/v1/searches/index.rabl:
--------------------------------------------------------------------------------
1 | collection @searches
2 |
3 | extends "api/v1/searches/partials/base"
4 | extends "api/v1/searches/partials/params"
5 | extends "api/v1/searches/partials/person"
--------------------------------------------------------------------------------
/app/views/api/v1/searches/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :query
3 | attribute :created_at
4 |
--------------------------------------------------------------------------------
/app/views/api/v1/searches/partials/extended.rabl:
--------------------------------------------------------------------------------
1 | attribute :issues_total
2 | attribute :trackers_total
--------------------------------------------------------------------------------
/app/views/api/v1/searches/partials/issues.rabl:
--------------------------------------------------------------------------------
1 | child :issues => :issues do
2 | extends "api/v1/issues/partials/base"
3 |
4 | child :tracker => :tracker do
5 | extends "api/v1/trackers/partials/base"
6 | end
7 | end
8 |
--------------------------------------------------------------------------------
/app/views/api/v1/searches/partials/params.rabl:
--------------------------------------------------------------------------------
1 | node(:params) { root_object.params }
--------------------------------------------------------------------------------
/app/views/api/v1/searches/partials/person.rabl:
--------------------------------------------------------------------------------
1 | child(:person => :person) { extends "api/v1/people/partials/base" }
--------------------------------------------------------------------------------
/app/views/api/v1/searches/partials/trackers.rabl:
--------------------------------------------------------------------------------
1 | child :trackers => :trackers do
2 | extends "api/v1/trackers/partials/search"
3 | end
4 |
--------------------------------------------------------------------------------
/app/views/api/v1/searches/show.rabl:
--------------------------------------------------------------------------------
1 | object @results
2 |
3 | extends "api/v1/searches/partials/extended"
4 | extends "api/v1/searches/partials/issues"
5 | extends "api/v1/searches/partials/trackers"
6 |
--------------------------------------------------------------------------------
/app/views/api/v1/searches/typeahead.rabl:
--------------------------------------------------------------------------------
1 | collection @trackers
2 |
3 | attribute :id
4 | attribute :name
5 | attribute :image_url
--------------------------------------------------------------------------------
/app/views/api/v1/shopping_cart/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :created_at
3 | attribute :updated_at
4 | attribute :item_total => :total
--------------------------------------------------------------------------------
/app/views/api/v1/shopping_cart/partials/items.rabl:
--------------------------------------------------------------------------------
1 | node(:items) do
2 | @person.shopping_cart.load_items.map do |item|
3 | partial "shopping_cart/partials/items/#{item.class.name.underscore.singularize}", object: item
4 | end
5 | end
6 |
--------------------------------------------------------------------------------
/app/views/api/v1/shopping_cart/partials/items/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :amount
2 |
3 | node(:type) { root_object.class.name }
4 | node(:index) { root_object.shopping_cart_data.index }
5 | node(:added_at) { root_object.shopping_cart_data.added_at }
6 | node(:updated_at) { root_object.shopping_cart_data.updated_at }
--------------------------------------------------------------------------------
/app/views/api/v1/shopping_cart/partials/items/bounty.rabl:
--------------------------------------------------------------------------------
1 | attribute :anonymous
2 |
3 | extends "api/v1/shopping_cart/partials/items/base"
4 | extends "api/v1/bounties/partials/owner"
5 | extends "api/v1/bounties/partials/issue"
--------------------------------------------------------------------------------
/app/views/api/v1/shopping_cart/partials/items/pledge.rabl:
--------------------------------------------------------------------------------
1 | attribute :anonymous
2 |
3 | extends "api/v1/shopping_cart/partials/items/base"
4 | extends "api/v1/pledges/partials/owner"
5 | extends "api/v1/pledges/partials/fundraiser"
6 | extends "api/v1/pledges/partials/reward"
--------------------------------------------------------------------------------
/app/views/api/v1/shopping_cart/partials/items/team_payin.rabl:
--------------------------------------------------------------------------------
1 | extends "api/v1/shopping_cart/partials/items/base"
2 | extends "api/v1/team_payins/partials/team"
--------------------------------------------------------------------------------
/app/views/api/v1/shopping_cart/show.rabl:
--------------------------------------------------------------------------------
1 | object @person.shopping_cart
2 |
3 | extends "api/v1/shopping_cart/partials/base"
4 | extends "api/v1/shopping_cart/partials/items"
5 |
--------------------------------------------------------------------------------
/app/views/api/v1/solutions/index.rabl:
--------------------------------------------------------------------------------
1 | collection @issue_solutions
2 |
3 | extends "api/v1/solutions/partials/base"
4 | extends "api/v1/solutions/partials/solution_events"
5 | extends "api/v1/solutions/partials/person"
--------------------------------------------------------------------------------
/app/views/api/v1/solutions/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :url
3 | attribute :note
4 | attribute :completion_date
5 | attribute :status
6 | attribute :created_at
7 | attribute :updated_at
8 |
--------------------------------------------------------------------------------
/app/views/api/v1/solutions/partials/person.rabl:
--------------------------------------------------------------------------------
1 | child(:person) do
2 | attribute :id
3 | attribute :to_param => :slug
4 | attribute :display_name
5 | attribute :image_url
6 | end
--------------------------------------------------------------------------------
/app/views/api/v1/solutions/partials/solution_events.rabl:
--------------------------------------------------------------------------------
1 | child(:solution_events => :solution_events) do
2 | attribute :id
3 | attribute :type
4 | attribute :created_at
5 | end
--------------------------------------------------------------------------------
/app/views/api/v1/solutions/show.rabl:
--------------------------------------------------------------------------------
1 | object @solution
2 |
3 | extends "api/v1/solutions/partials/base"
4 | extends "api/v1/solutions/partials/solution_events"
5 | extends "api/v1/solutions/partials/person"
--------------------------------------------------------------------------------
/app/views/api/v1/splits/index.rabl:
--------------------------------------------------------------------------------
1 | collection @splits
2 |
3 | extends "api/v1/splits/partials/base"
--------------------------------------------------------------------------------
/app/views/api/v1/splits/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attributes :id, :amount, :created_at, :updated_at, :account_id, :item_id, :item_type
--------------------------------------------------------------------------------
/app/views/api/v1/splits/partials/extended.rabl:
--------------------------------------------------------------------------------
1 | node(:account) { |split| partial "api/v1/accounts/partials/base", object: split.account }
2 |
--------------------------------------------------------------------------------
/app/views/api/v1/splits/partials/transaction.rabl:
--------------------------------------------------------------------------------
1 | child(:txn => :transaction) do
2 | extends "api/v1/transactions/partials/base"
3 | extends "api/v0/transactions/partials/admin"
4 | end
5 |
--------------------------------------------------------------------------------
/app/views/api/v1/splits/show.rabl:
--------------------------------------------------------------------------------
1 | object @split
2 |
3 | extends "api/v1/splits/partials/base"
4 | extends "api/v1/splits/partials/extended"
--------------------------------------------------------------------------------
/app/views/api/v1/team_invites/create.rabl:
--------------------------------------------------------------------------------
1 | object @invite
2 |
3 | extends "api/v1/team_invites/partials/base"
--------------------------------------------------------------------------------
/app/views/api/v1/team_invites/index.rabl:
--------------------------------------------------------------------------------
1 | collection @invites
2 |
3 | extends "api/v1/team_invites/partials/base"
--------------------------------------------------------------------------------
/app/views/api/v1/team_invites/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :created_at
3 | attribute :email
4 | attribute :token
5 | attribute :admin
6 | attribute :developer
7 | attribute :public
--------------------------------------------------------------------------------
/app/views/api/v1/team_payins/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :amount
3 | attribute :created_at
4 | attribute :updated_at
5 | attribute :refunded_at
6 |
--------------------------------------------------------------------------------
/app/views/api/v1/team_payins/partials/person.rabl:
--------------------------------------------------------------------------------
1 | child(:person) {
2 | extends "api/v1/people/partials/base"
3 | }
--------------------------------------------------------------------------------
/app/views/api/v1/team_payins/partials/team.rabl:
--------------------------------------------------------------------------------
1 | child(:team => :team) {
2 | extends "api/v1/teams/partials/base"
3 | }
--------------------------------------------------------------------------------
/app/views/api/v1/teams/index.rabl:
--------------------------------------------------------------------------------
1 | collection @teams
2 |
3 | extends "api/v1/teams/partials/base"
4 | extends "api/v1/teams/partials/account"
5 |
--------------------------------------------------------------------------------
/app/views/api/v1/teams/members.rabl:
--------------------------------------------------------------------------------
1 | collection @member_relations
2 |
3 | extends "api/v1/teams/partials/member"
--------------------------------------------------------------------------------
/app/views/api/v1/teams/partials/account.rabl:
--------------------------------------------------------------------------------
1 | if can?(:view_team_account, root_object)
2 | attribute :account_balance
3 | end
--------------------------------------------------------------------------------
/app/views/api/v1/teams/partials/extended.rabl:
--------------------------------------------------------------------------------
1 | attribute :bio
2 | attribute :homepage_markdown
3 | attribute :new_issue_suggestion_markdown
4 | attribute :bounty_search_markdown
5 | attribute :resources_markdown
6 |
--------------------------------------------------------------------------------
/app/views/api/v1/teams/partials/linked_account.rabl:
--------------------------------------------------------------------------------
1 | child(:linked_account => :linked_account) { extends "api/v1/linked_accounts/partials/base" }
--------------------------------------------------------------------------------
/app/views/api/v1/teams/partials/overview.rabl:
--------------------------------------------------------------------------------
1 | node(:open_issues_count) {|team| team.open_issues_count }
2 | node(:open_bounties_amount) { |team| team.open_bounties_amount }
3 | node(:closed_bounties_amount) { |team| team.closed_bounties_amount }
4 |
--------------------------------------------------------------------------------
/app/views/api/v1/teams/partials/trackers.rabl:
--------------------------------------------------------------------------------
1 | child(:prioritized_trackers => :trackers) do
2 | extends "api/v1/trackers/partials/base"
3 | extends "api/v1/trackers/partials/owner"
4 | end
5 |
6 |
--------------------------------------------------------------------------------
/app/views/api/v1/teams/show.rabl:
--------------------------------------------------------------------------------
1 | object @team
2 |
3 | extends "api/v1/teams/partials/base"
4 | extends "api/v1/teams/partials/extended"
5 | extends "api/v1/teams/partials/account"
6 | extends "api/v1/teams/partials/trackers"
7 | extends "api/v1/teams/partials/overview"
8 | extends "api/v1/teams/partials/linked_account"
9 |
--------------------------------------------------------------------------------
/app/views/api/v1/teams/trackers.rabl:
--------------------------------------------------------------------------------
1 | collection @tracker_relations
2 |
3 | attribute :created_at => :added_at
4 |
5 | glue(:tracker => :tracker) { extends "api/v1/trackers/partials/base" }
--------------------------------------------------------------------------------
/app/views/api/v1/tracker_plugins/index.rabl:
--------------------------------------------------------------------------------
1 | collection @tracker_plugins
2 |
3 | extends "api/v1/tracker_plugins/partials/base"
4 | extends "api/v1/tracker_plugins/partials/tracker"
5 |
--------------------------------------------------------------------------------
/app/views/api/v1/tracker_plugins/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :modify_title
3 | attribute :modify_body
4 | attribute :modify_all
5 | attribute :add_label
6 | attribute :label_name
7 | attribute :label_color
8 | attribute :created_at
9 | attribute :updated_at
10 | attribute :locked_at
11 | attribute :last_error
12 |
--------------------------------------------------------------------------------
/app/views/api/v1/tracker_plugins/partials/person.rabl:
--------------------------------------------------------------------------------
1 | child(:person) { extends "api/v1/people/partials/base" }
--------------------------------------------------------------------------------
/app/views/api/v1/tracker_plugins/partials/tracker.rabl:
--------------------------------------------------------------------------------
1 | child(:tracker => :tracker) { extends "api/v1/trackers/partials/base" }
--------------------------------------------------------------------------------
/app/views/api/v1/tracker_plugins/show.rabl:
--------------------------------------------------------------------------------
1 | object @tracker_plugin
2 |
3 | extends "api/v1/tracker_plugins/partials/base"
4 | extends "api/v1/tracker_plugins/partials/person"
5 | extends "api/v1/tracker_plugins/partials/tracker"
6 |
--------------------------------------------------------------------------------
/app/views/api/v1/tracker_relations/index.rabl:
--------------------------------------------------------------------------------
1 | collection @tracker_relations
2 |
3 | extends "api/v1/tracker_relations/partials/base"
4 | extends "api/v1/tracker_relations/partials/extended"
--------------------------------------------------------------------------------
/app/views/api/v1/tracker_relations/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :created_at
3 | attribute :updated_at
4 |
--------------------------------------------------------------------------------
/app/views/api/v1/tracker_relations/partials/extended.rabl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/views/api/v1/tracker_relations/partials/extended.rabl
--------------------------------------------------------------------------------
/app/views/api/v1/tracker_relations/partials/linked_account.rabl:
--------------------------------------------------------------------------------
1 | child(:linked_account => :linked_account) { extends "api/v1/linked_accounts/partials/base" }
2 |
--------------------------------------------------------------------------------
/app/views/api/v1/tracker_relations/partials/tracker.rabl:
--------------------------------------------------------------------------------
1 | child(:tracker => :tracker) { extends "api/v1/trackers/partials/base" }
--------------------------------------------------------------------------------
/app/views/api/v1/tracker_relations/show.rabl:
--------------------------------------------------------------------------------
1 | object @tracker_relation
2 |
3 | extends "api/v1/tracker_relations/partials/base"
4 | extends "api/v1/tracker_relations/partials/extended"
5 | extends "api/v1/tracker_relations/partials/tracker"
6 | extends "api/v1/tracker_relations/partials/linked_account"
--------------------------------------------------------------------------------
/app/views/api/v1/trackers/cards.rabl:
--------------------------------------------------------------------------------
1 | object false
2 |
3 | child(@featured_trackers => :featured_trackers) { extends "api/v1/trackers/partials/base" }
4 | child(@all_trackers => :all_trackers) { extends "api/v1/trackers/partials/base" }
5 |
--------------------------------------------------------------------------------
/app/views/api/v1/trackers/followed.rabl:
--------------------------------------------------------------------------------
1 | collection @trackers
2 |
3 | extends "api/v1/trackers/partials/base"
--------------------------------------------------------------------------------
/app/views/api/v1/trackers/index.rabl:
--------------------------------------------------------------------------------
1 | collection @trackers
2 |
3 | extends "api/v1/trackers/partials/base"
4 | extends "api/v1/trackers/partials/extended"
5 |
--------------------------------------------------------------------------------
/app/views/api/v1/trackers/partials/languages.rabl:
--------------------------------------------------------------------------------
1 | child(:languages, if: lambda { |i| [Github::Repository].include?(i.class) }) do
2 | attributes :id, :name, :bytes, :search_weight
3 | end
4 |
--------------------------------------------------------------------------------
/app/views/api/v1/trackers/partials/owner.rabl:
--------------------------------------------------------------------------------
1 | child(:team) do
2 | extends "api/v1/owners/partials/base"
3 | end
4 |
--------------------------------------------------------------------------------
/app/views/api/v1/trackers/partials/plugin.rabl:
--------------------------------------------------------------------------------
1 | node(:tracker_plugin) do |tracker|
2 | if tracker.plugin && tracker.plugin.person == @person
3 | partial "api/v1/tracker_plugins/partials/base", object: tracker.plugin
4 | end
5 | end
6 |
--------------------------------------------------------------------------------
/app/views/api/v1/trackers/show.rabl:
--------------------------------------------------------------------------------
1 | object @tracker
2 |
3 | extends "api/v1/trackers/partials/base"
4 | extends "api/v1/trackers/partials/extended"
5 | extends "api/v1/trackers/partials/languages"
6 |
--------------------------------------------------------------------------------
/app/views/api/v1/trackers/top_backers.rabl:
--------------------------------------------------------------------------------
1 | object false
2 |
3 | child(@top_backers => :top_backers) do
4 | node(:total_backed) do |owner|
5 | @top_backers_map.fetch(owner, 0)
6 | end
7 | extends "api/v1/people/partials/base"
8 | end
9 |
--------------------------------------------------------------------------------
/app/views/api/v1/transactions/index.rabl:
--------------------------------------------------------------------------------
1 | collection @transactions
2 |
3 | extends "api/v1/transactions/partials/base"
4 | extends "api/v1/transactions/partials/splits"
5 | extends "api/v1/transactions/partials/checkout_method"
--------------------------------------------------------------------------------
/app/views/api/v1/transactions/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :type
3 | attribute :description
4 | attribute :type
5 | attribute :created_at
6 | attribute :updated_at
7 | attribute :gross
8 | attribute :fee
9 | attribute :processing_fee
10 | attribute :liability
11 | attribute :shopping_cart_id
12 |
13 | # attribute :items
14 |
--------------------------------------------------------------------------------
/app/views/api/v1/transactions/partials/checkout_method.rabl:
--------------------------------------------------------------------------------
1 | child(:checkout_method => :checkout_method) do
2 | attribute :id
3 | attribute :display_name
4 | node(:type) { root_object.class.name }
5 | child({:owner => :owner}, { unless: lambda { |r| root_object.class.name == 'Account::PaymentMethod' }} ) do
6 | extends "api/v1/owners/partials/base"
7 | end
8 | end
9 |
--------------------------------------------------------------------------------
/app/views/api/v1/transactions/partials/items.rabl:
--------------------------------------------------------------------------------
1 | node(:items) do |transaction|
2 | transaction.items.map do |item|
3 | partial "api/v1/transactions/partials/items/#{item.class.name.underscore.singularize}", object: item
4 | end
5 | end
--------------------------------------------------------------------------------
/app/views/api/v1/transactions/partials/items/base.rabl:
--------------------------------------------------------------------------------
1 | node(:type) { root_object.class.name }
2 | child(:owner => :owner) { extends "api/v1/owners/partials/base" }
3 |
--------------------------------------------------------------------------------
/app/views/api/v1/transactions/partials/items/bounty.rabl:
--------------------------------------------------------------------------------
1 | extends "api/v1/transactions/partials/items/base"
2 | extends "api/v1/bounties/partials/base"
3 | extends "api/v1/bounties/partials/options"
4 |
5 | child(:issue => :issue) do
6 | extends "api/v1/issues/partials/base"
7 | extends "api/v1/issues/partials/tracker"
8 | end
9 |
--------------------------------------------------------------------------------
/app/views/api/v1/transactions/partials/items/pledge.rabl:
--------------------------------------------------------------------------------
1 | extends "api/v1/transactions/partials/items/base"
2 | extends "api/v1/pledges/partials/base"
3 | extends "api/v1/pledges/partials/reward"
4 |
5 | child(:fundraiser) do
6 | extends "api/v1/fundraisers/partials/base"
7 | end
8 |
--------------------------------------------------------------------------------
/app/views/api/v1/transactions/partials/items/proposal.rabl:
--------------------------------------------------------------------------------
1 | node(:type) { root_object.class.name }
2 | extends "api/v1/proposals/partials/base"
3 |
4 | child(:issue => :issue) do
5 | extends "api/v1/issues/partials/base"
6 | extends "api/v1/issues/partials/tracker"
7 | end
8 |
9 | child(:person => :person) do
10 | extends "api/v1/people/partials/base"
11 | end
--------------------------------------------------------------------------------
/app/views/api/v1/transactions/partials/items/support_level_payment.rabl:
--------------------------------------------------------------------------------
1 | extends "api/v1/transactions/partials/items/base"
2 | extends "api/v1/team_payins/partials/base"
3 | extends "api/v1/team_payins/partials/team"
4 |
5 | attribute :period_starts_at
6 | attribute :period_ends_at
7 |
--------------------------------------------------------------------------------
/app/views/api/v1/transactions/partials/items/team_payin.rabl:
--------------------------------------------------------------------------------
1 | extends "api/v1/transactions/partials/items/base"
2 | extends "api/v1/team_payins/partials/base"
3 | extends "api/v1/team_payins/partials/team"
--------------------------------------------------------------------------------
/app/views/api/v1/transactions/partials/splits.rabl:
--------------------------------------------------------------------------------
1 | child(:splits) do
2 | extends "api/v1/splits/partials/base"
3 | end
--------------------------------------------------------------------------------
/app/views/api/v1/transactions/show.rabl:
--------------------------------------------------------------------------------
1 | object @transaction
2 |
3 | extends "api/v1/transactions/partials/base"
4 | extends "api/v1/transactions/partials/items"
5 | extends "api/v1/transactions/partials/checkout_method"
--------------------------------------------------------------------------------
/app/views/api/v2/_image_urls.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.image_url_small item.image_url
2 | json.image_url_medium item.medium_image_url
3 | json.image_url_large item.large_image_url
4 |
--------------------------------------------------------------------------------
/app/views/api/v2/account/show.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'base', item: @item
--------------------------------------------------------------------------------
/app/views/api/v2/addresses/_base.json.jbuilder:
--------------------------------------------------------------------------------
1 | if item
2 | json.(item, *%i(
3 | id
4 | name
5 | address1
6 | address2
7 | address3
8 | city
9 | state
10 | postal_code
11 | country
12 | ))
13 | else
14 | json.id 0
15 | end
16 |
--------------------------------------------------------------------------------
/app/views/api/v2/addresses/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'base', as: :item
--------------------------------------------------------------------------------
/app/views/api/v2/addresses/show.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'base', item: @item
--------------------------------------------------------------------------------
/app/views/api/v2/backers/_base.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'api/v2/owners/base', item: item[:model]
2 | json.amount item[:amount]
3 | json.last_activity_at item[:last_activity_at]
4 |
--------------------------------------------------------------------------------
/app/views/api/v2/backers/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'base', as: :item
--------------------------------------------------------------------------------
/app/views/api/v2/bounties/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'base', as: :item
2 |
--------------------------------------------------------------------------------
/app/views/api/v2/bounties/summary.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'summary', as: :item
2 |
--------------------------------------------------------------------------------
/app/views/api/v2/bounty_claim_responses/_base.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.(item,
2 | :id,
3 | :value,
4 | :description,
5 | :created_at,
6 | :updated_at)
7 |
8 | if @include_bounty_claim_response_owner
9 | json.owner do
10 | json.partial! 'api/v2/owners/base', item: item.person
11 | end
12 | end
13 |
--------------------------------------------------------------------------------
/app/views/api/v2/bounty_claims/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'base', as: :item
2 |
--------------------------------------------------------------------------------
/app/views/api/v2/bounty_claims/show.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'base', item: @item
2 |
--------------------------------------------------------------------------------
/app/views/api/v2/cart/show.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'base', cart: @cart
--------------------------------------------------------------------------------
/app/views/api/v2/cart_items/show.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'base', item: @item
--------------------------------------------------------------------------------
/app/views/api/v2/cash_outs/csv.json.rb:
--------------------------------------------------------------------------------
1 | @collection.map do |cash_out|
2 | cash_out
3 | end.to_json
--------------------------------------------------------------------------------
/app/views/api/v2/cash_outs/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'api/v2/cash_outs/base', as: :item
--------------------------------------------------------------------------------
/app/views/api/v2/cash_outs/show.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'api/v2/cash_outs/base', item: @item
--------------------------------------------------------------------------------
/app/views/api/v2/comments/_base.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.(item,
2 | :id,
3 | :created_at)
4 |
5 | if @include_body_html
6 | json.body_html item.sanitized_body_html
7 | end
8 |
9 | if @include_author
10 | json.author do
11 | json.partial! 'api/v2/linked_accounts/base', item: item.author_or_dummy_author
12 | end
13 | end
14 |
--------------------------------------------------------------------------------
/app/views/api/v2/comments/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'base', as: :item
2 |
--------------------------------------------------------------------------------
/app/views/api/v2/comments/show.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'base', item: @item
2 |
3 | if @include_issue
4 | json.issue do
5 | json.partial! 'api/v2/issues/base', item: @item.issue
6 | end
7 | end
8 |
--------------------------------------------------------------------------------
/app/views/api/v2/developer_goals/_base.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.(item,
2 | :id,
3 | :created_at,
4 | :updated_at,
5 | :amount
6 | )
7 |
8 | if @include_developer_goal_owner
9 | json.owner do
10 | json.partial! 'api/v2/owners/base', item: item.person
11 | end
12 | end
--------------------------------------------------------------------------------
/app/views/api/v2/developer_goals/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'base', as: :item
2 |
--------------------------------------------------------------------------------
/app/views/api/v2/developer_goals/show.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'base', item: @item
2 |
--------------------------------------------------------------------------------
/app/views/api/v2/events/_base.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.(item, *%i(
2 | id
3 | slug
4 | title
5 | subtitle
6 | url
7 | ))
8 |
9 | if @include_issues
10 | json.issues do
11 | json.array! item.issues, partial: 'api/v2/issues/base', as: :item, locals: { :include_tracker => true }
12 | end
13 | else
14 | json.(item, :issue_ids)
15 | end
16 |
--------------------------------------------------------------------------------
/app/views/api/v2/events/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, template: 'base', as: :item
--------------------------------------------------------------------------------
/app/views/api/v2/events/show.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'base', item: @item
--------------------------------------------------------------------------------
/app/views/api/v2/fundraiser_rewards/_base.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.(item,
2 | :id,
3 | :amount,
4 | :description,
5 | :claimed,
6 | :limited_to,
7 | :sold_out,
8 | :created_at,
9 | :fulfillment_details)
--------------------------------------------------------------------------------
/app/views/api/v2/fundraiser_rewards/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'base', as: :item
--------------------------------------------------------------------------------
/app/views/api/v2/fundraiser_rewards/show.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'base', item: @item
--------------------------------------------------------------------------------
/app/views/api/v2/fundraisers/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'base', as: :item
--------------------------------------------------------------------------------
/app/views/api/v2/issue_addresses/_base.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.(item,
2 | :id,
3 | :public_address,
4 | :balance
5 | )
--------------------------------------------------------------------------------
/app/views/api/v2/issue_suggestions/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'base', as: :item
2 |
--------------------------------------------------------------------------------
/app/views/api/v2/issues/create.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'base', item: @item
--------------------------------------------------------------------------------
/app/views/api/v2/issues/index.json.jbuilder:
--------------------------------------------------------------------------------
1 |
2 | json.issues do
3 | json.array! @collection, partial: 'base', as: :item
4 | end
5 |
6 | json.total_count @total_count
--------------------------------------------------------------------------------
/app/views/api/v2/issues/show.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'base', item: @item
2 |
--------------------------------------------------------------------------------
/app/views/api/v2/linked_accounts/_base.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.id item.person_id || item.id
2 | json.slug item.person.try(:to_param) || item.to_param
3 | json.display_name item.name
4 |
5 | json.type item.person_id ? Person.name : item.class.name
6 |
7 | json.partial! 'api/v2/image_urls', item: item
--------------------------------------------------------------------------------
/app/views/api/v2/pact_applications/_base.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.(item,
2 | :id,
3 | :person,
4 | :pact,
5 | :note,
6 | :completion_date,
7 | :status,
8 | :created_at,
9 | :updated_at
10 | )
11 |
--------------------------------------------------------------------------------
/app/views/api/v2/pact_applications/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.pact_applications do
2 | json.array! @collection, partial: 'base', as: :item
3 | end
4 |
5 | json.total_count @total_count
6 |
--------------------------------------------------------------------------------
/app/views/api/v2/pact_applications/show.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'base', item: @item
2 |
--------------------------------------------------------------------------------
/app/views/api/v2/pacts/index.html.erb:
--------------------------------------------------------------------------------
1 | Pacts#index
2 | Find me in app/views/pacts/index.html.erb
3 |
--------------------------------------------------------------------------------
/app/views/api/v2/pacts/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.pacts do
2 | json.array! @collection, partial: 'base', as: :item
3 | end
4 |
5 | json.total_count @total_count
--------------------------------------------------------------------------------
/app/views/api/v2/pacts/show.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'base', item: @item
--------------------------------------------------------------------------------
/app/views/api/v2/payment_methods/_base.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.id item.id
2 | json.description item.description
3 |
--------------------------------------------------------------------------------
/app/views/api/v2/payment_methods/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'base', as: :item
2 |
--------------------------------------------------------------------------------
/app/views/api/v2/people/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'base', as: :item
--------------------------------------------------------------------------------
/app/views/api/v2/people/me.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'base', item: @item
2 |
3 | # this view should only be used by /people/me which is for yourself
4 | json.email @item.email
5 |
--------------------------------------------------------------------------------
/app/views/api/v2/people/show.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'base', item: @item
2 |
--------------------------------------------------------------------------------
/app/views/api/v2/people_trackers/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'api/v2/trackers/base', as: :item
--------------------------------------------------------------------------------
/app/views/api/v2/pledges/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'base', as: :item
--------------------------------------------------------------------------------
/app/views/api/v2/plugins/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'base', as: :item
--------------------------------------------------------------------------------
/app/views/api/v2/proposals/create.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'base', item: @item
--------------------------------------------------------------------------------
/app/views/api/v2/proposals/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'base', as: :item
--------------------------------------------------------------------------------
/app/views/api/v2/proposals/show.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'base', item: @item
--------------------------------------------------------------------------------
/app/views/api/v2/redirect.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.redirect_to @item[:redirect_to]
2 |
--------------------------------------------------------------------------------
/app/views/api/v2/request_for_proposals/create.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'base', item: @item
--------------------------------------------------------------------------------
/app/views/api/v2/request_for_proposals/show.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'base', item: @item
--------------------------------------------------------------------------------
/app/views/api/v2/request_for_proposals/update.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'base', item: @item
--------------------------------------------------------------------------------
/app/views/api/v2/solutions/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'base', as: :item
2 |
--------------------------------------------------------------------------------
/app/views/api/v2/support_level_payments/_base.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.id item.id
2 | json.amount item.amount
3 | json.period_starts_at item.period_starts_at
4 | json.period_ends_at item.period_ends_at
5 | json.created_at item.created_at
6 | json.refunded_at item.refunded_at
--------------------------------------------------------------------------------
/app/views/api/v2/support_levels/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'base', as: :item
2 |
--------------------------------------------------------------------------------
/app/views/api/v2/support_levels/show.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'base', item: @item
2 |
3 | json.support_level_payments do
4 | json.array! @item.payments, partial: 'api/v2/support_level_payments/base', as: :item
5 | end
--------------------------------------------------------------------------------
/app/views/api/v2/supporters/_base.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'api/v2/owners/base', item: item.owner
2 |
3 | json.monthly_amount item.monthly_amount
4 | json.alltime_amount item.alltime_amount
5 | json.created_at item.created_at
6 |
--------------------------------------------------------------------------------
/app/views/api/v2/supporters/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'base', as: :item
2 |
--------------------------------------------------------------------------------
/app/views/api/v2/tags/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'base', as: :item
--------------------------------------------------------------------------------
/app/views/api/v2/team_updates/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'base', as: :item
--------------------------------------------------------------------------------
/app/views/api/v2/team_updates/show.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'base', item: @item
--------------------------------------------------------------------------------
/app/views/api/v2/teams/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'base', as: :item
--------------------------------------------------------------------------------
/app/views/api/v2/teams/show.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'base', item: @item
2 |
--------------------------------------------------------------------------------
/app/views/api/v2/trackers/_extended.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.synced_at item.synced_at
2 | json.watchers item.watchers if item.is_a?(Github::Repository)
3 | json.forks item.forks if item.is_a?(Github::Repository)
4 | json.description item.description
--------------------------------------------------------------------------------
/app/views/api/v2/trackers/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'base', as: :item
2 |
--------------------------------------------------------------------------------
/app/views/api/v2/trackers/show.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'base', item: @item
2 | json.partial! 'extended', item: @item
3 |
4 |
--------------------------------------------------------------------------------
/app/views/api/v2/wallets/_base.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.(item, *%i(
2 | id
3 | person_id
4 | eth_addr
5 | created_at
6 | verified
7 | primary
8 | ))
9 |
10 | json.type item.class.name
11 |
12 |
--------------------------------------------------------------------------------
/app/views/api/v2/wallets/index.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.array! @collection, partial: 'api/v2/wallets/base', as: :item
--------------------------------------------------------------------------------
/app/views/api/v2/wallets/show.json.jbuilder:
--------------------------------------------------------------------------------
1 | json.partial! 'base', item: @wallet
2 |
--------------------------------------------------------------------------------
/app/views/bounty_source/api_docs.html.erb:
--------------------------------------------------------------------------------
1 | API docs are coming soon!
--------------------------------------------------------------------------------
/app/views/layouts/_thank_you.html.erb:
--------------------------------------------------------------------------------
1 |
2 |
Thanks,
3 |
The Bountysource Team
4 |
5 |
--------------------------------------------------------------------------------
/app/views/layouts/_thank_you.text.erb:
--------------------------------------------------------------------------------
1 | Thanks,
2 | The Bountysource Team
--------------------------------------------------------------------------------
/app/views/layouts/email.html.erb:
--------------------------------------------------------------------------------
1 |
2 | <%=yield%>
3 |
4 | <%= render "layouts/thank_you" %>
5 |
6 |
7 |
8 | ----------------------
9 |
10 |
11 | <%= render "layouts/footer" %>
--------------------------------------------------------------------------------
/app/views/layouts/email.text.erb:
--------------------------------------------------------------------------------
1 | <%= yield :pre_message %>
2 |
3 | Bountysource
4 | =========================================================================
5 |
6 | <%= yield %>
7 |
8 | <%= render "layouts/thank_you" %>
9 |
10 | -------------------------------------------------------------------------
11 |
12 | <%= render "layouts/footer" %>
--------------------------------------------------------------------------------
/app/views/mailer/bounty_claim_contested_developer_notice.text.erb:
--------------------------------------------------------------------------------
1 | Hi <%= @person.first_name %>,
2 |
3 | Another developer has submitted a claim for "<%= @bounty_claim.issue.title %>".
4 |
5 | The bounty will be paid out to the developer whose claim is accepted by all of the backers. If you have any questions, please email us at support@bountysource.com.
--------------------------------------------------------------------------------
/app/views/mailer/bounty_claim_rejected_developer_notice.text.erb:
--------------------------------------------------------------------------------
1 | Hi <%= @person.first_name %>,
2 |
3 | Your claim on "<%= @bounty_claim.issue.title %>" has been rejected.
4 |
5 | <%= @response.person.display_name %> rejected the claim with the following reason: <%= @response.description %>
6 |
7 | If you have any questions, please email us at support@bountysource.com.
--------------------------------------------------------------------------------
/app/views/mailer/bounty_claim_rejected_rejecter_notice.text.erb:
--------------------------------------------------------------------------------
1 | Hi <%= @person.first_name %>,
2 |
3 | You have successfully rejected a claim by <%= @bounty_claim.person.display_name %> for "<%= @bounty_claim.issue.title %>". The bounty has not been paid out.
--------------------------------------------------------------------------------
/app/views/mailer/bounty_refunded.html.erb:
--------------------------------------------------------------------------------
1 |
2 | Hi <%= @person.first_name %>,
3 |
4 |
5 |
6 | The $<%= @bounty.amount.round %> bounty for "><%= @bounty.issue.title %> that you placed has been refunded to your Bountysource account.
7 |
--------------------------------------------------------------------------------
/app/views/mailer/bounty_refunded.text.erb:
--------------------------------------------------------------------------------
1 | Hi <%= @person.first_name %>,
2 |
3 | The $<%= @bounty.amount.round %> bounty for <%= @bounty.issue.title %> that you placed has been refunded to your Bountysource account.
4 |
5 | You can view the issue here: <%= "#{Api::Application.config.www_url}issues/#{@bounty.issue.to_param}" %>
--------------------------------------------------------------------------------
/app/views/mailer/bounty_refunded_for_deleted_issue.text.erb:
--------------------------------------------------------------------------------
1 | Hi <%= @person.first_name %>,
2 |
3 | The $<%= @bounty.amount.round %> bounty for <%= @bounty.issue.title %> that you placed has been refunded to your Bountysource account because the issue has been deleted.
4 |
5 | You can view the issue here: <%= "#{Api::Application.config.www_url}issues/#{@bounty.issue.to_param}" %>
--------------------------------------------------------------------------------
/app/views/mailer/cash_out_payment_sent.md.erb:
--------------------------------------------------------------------------------
1 | Hi <%= @person.display_name %>,
2 |
3 | Your cash out request has just been processed and <%=number_to_currency(@cash_out.final_payment_amount)%> was sent via <%=@cash_out.class.name.split('::').last%>. If you have any questions or concerns you may reply to this email.
4 |
--------------------------------------------------------------------------------
/app/views/mailer/claim_team_rejected.md.erb:
--------------------------------------------------------------------------------
1 | Hi <%= @person.display_name %>,
2 |
3 | Your claim for the <%= @team.name %> team on Bountysource has been rejected for the following reason:
4 |
5 | <%=@team_claim.rejected_notes%>
6 |
7 | If you have any questions you may reply to this email or join us in #Bountysource on irc.freenode.net.
8 |
--------------------------------------------------------------------------------
/app/views/mailer/crypto_pay_out_approved.html.erb:
--------------------------------------------------------------------------------
1 | Hi, an admin has approved a crypto bounty payout to your ethereum address <%= @person.primary_wallet.eth_addr %>
2 |
3 | You can navigate to <%= Api::Application.config.www_url %>activity/crypto_pay_outs to monitor the transactions.
--------------------------------------------------------------------------------
/app/views/mailer/crypto_pay_out_approved.text.erb:
--------------------------------------------------------------------------------
1 | Hi, an admin has approved a crypto bounty payout to your ethereum address <%= @person.primary_wallet.eth_addr %>
2 |
3 | You can navigate to <%= Api::Application.config.www_url %>activity/crypto_pay_outs to monitor the transactions.
--------------------------------------------------------------------------------
/app/views/mailer/developer_goal_created.html.erb:
--------------------------------------------------------------------------------
1 | Hi <%= @person.display_name %>,
2 |
3 | You just placed a funding goal on <%= @developer_goal.issue.title %>
4 |
5 | Spread the word to help this issue reach your goal!
6 |
--------------------------------------------------------------------------------
/app/views/mailer/developer_goal_created.text.erb:
--------------------------------------------------------------------------------
1 | Hi <%= @person.display_name %>,
2 |
3 | You just placed a funding goal on <%= @developer_goal.issue.title %>: <%= @developer_goal.issue.frontend_url %>.
4 |
5 | Spread the word to help this issue reach your goal!
6 |
--------------------------------------------------------------------------------
/app/views/mailer/email_verification.text.erb:
--------------------------------------------------------------------------------
1 | Hi <%= @person.first_name %>,
2 |
3 | Please click the link below to verify your account.
4 |
5 | <%= Api::Application.config.www_url %>#verify?<%= { email: @person.email, code: @token }.to_param %>
6 |
7 | If you did not sign up using this email, please contact us at support@bountysource.com.
--------------------------------------------------------------------------------
/app/views/mailer/extension_feedback.html.erb:
--------------------------------------------------------------------------------
1 | From:
2 | ID: <%= @person ? @person.id : 'anon' %> EMAIL: <%=@person ? @person.email : @email%>
3 |
4 |
5 | Message:
6 | <%= @message %>
7 |
--------------------------------------------------------------------------------
/app/views/mailer/extension_feedback.text.erb:
--------------------------------------------------------------------------------
1 | From:
2 | ID: <%= @person ? @person.id : 'anon' %> EMAIL: <%=@person ? @person.email : @email%>
3 |
4 | Message:
5 | <%= @message %>
6 |
--------------------------------------------------------------------------------
/app/views/mailer/fundraiser_backed.html.erb:
--------------------------------------------------------------------------------
1 | Dear <%= @person.display_name %>,
2 |
3 | <%= @pledge.owner_display_name capitalize: true %> just made a $<%= @pledge.amount.round %> pledge to <%= @pledge.fundraiser.title %>
4 |
5 | Want to check in on your fundraiser? View all of the pledges .
--------------------------------------------------------------------------------
/app/views/mailer/fundraiser_backed.text.erb:
--------------------------------------------------------------------------------
1 | Dear <%= @person.display_name %>,
2 |
3 | <%= @pledge.owner_display_name capitalize: true %> just made a $<%= @pledge.amount.round %> pledge to <%= @pledge.fundraiser.title %>
4 |
5 | Want to check in on your fundraiser? View all of the pledges: <%= @pledge.fundraiser.frontend_info_url %>
6 |
--------------------------------------------------------------------------------
/app/views/mailer/fundraiser_featured_notification.html.erb:
--------------------------------------------------------------------------------
1 | Dear <%= @person.display_name %>,
2 |
3 | Your fundraiser, <%= @fundraiser.title %> , is now featured on our home page . Cheers!
4 |
--------------------------------------------------------------------------------
/app/views/mailer/fundraiser_featured_notification.text.erb:
--------------------------------------------------------------------------------
1 | Dear <%= @person.display_name %>,
2 |
3 | Your fundraiser, <%= @fundraiser.title %>, is now featured on our home page. Cheers!
4 |
5 | <%= Api::Application.config.www_url %>
--------------------------------------------------------------------------------
/app/views/mailer/fundraiser_pledge_made.html.erb:
--------------------------------------------------------------------------------
1 |
2 | Hi <%= @person.first_name %>,
3 |
4 |
5 |
6 | You pledged <%= number_to_currency @pledge.amount, unit: '$' %> to <%= @pledge.fundraiser.title %> . Thank you for your support, spread the word!
7 |
--------------------------------------------------------------------------------
/app/views/mailer/fundraiser_pledge_made.text.erb:
--------------------------------------------------------------------------------
1 | Hi <%= @person.first_name %>,
2 |
3 | You pledged <%= number_to_currency @amount, unit: '$' %> to <%= @pledge.fundraiser.title %>. Thank you for your support, spread the word!
--------------------------------------------------------------------------------
/app/views/mailer/invited_to_team.text.erb:
--------------------------------------------------------------------------------
1 | You have been invited to join the team <%= @invite.team.name %>.
2 |
3 | To accept the invitation, visit the following link: <%= @invite.url %>
4 |
5 | If you do not yet have a Bountysource account, you will need to create one before being added to the team.
--------------------------------------------------------------------------------
/app/views/mailer/notify_backers_of_fundraiser_half_completion.html.erb:
--------------------------------------------------------------------------------
1 | Dear <%= @person.display_name %>,
2 |
3 | A fundraiser you backed, <%= @fundraiser.title %> , is now 50% funded.
4 |
5 | Help the fundraiser get to 100% by <%= @fundraiser.ends_at.strftime("%B %d, %Y") %>, keep spreading the word!
6 |
--------------------------------------------------------------------------------
/app/views/mailer/notify_backers_of_fundraiser_half_completion.text.erb:
--------------------------------------------------------------------------------
1 | Dear <%= @person.display_name %>,
2 |
3 | A fundraiser you backed, <%= @fundraiser.title %>, is now 50% funded.
4 |
5 | Help the fundraiser get to 100% by <%= @fundraiser.ends_at.strftime("%B %d, %Y") %>, keep spreading the word!
6 |
7 | <%= @fundraiser.frontend_url %>
8 |
--------------------------------------------------------------------------------
/app/views/mailer/notify_creator_of_fundraiser_breached.html.erb:
--------------------------------------------------------------------------------
1 | Dear <%= @person.display_name %>,
2 |
3 | Your fundraiser, <%= @fundraiser.title %> , has reached its funding goal!
4 |
--------------------------------------------------------------------------------
/app/views/mailer/notify_creator_of_fundraiser_breached.text.erb:
--------------------------------------------------------------------------------
1 | Dear <%= @person.display_name %>,
2 |
3 | Your fundraiser, <%= @fundraiser.title %>, has reached its funding goal!
4 |
5 | <%= @fundraiser.frontend_url %>
--------------------------------------------------------------------------------
/app/views/mailer/notify_creator_of_fundraiser_half_completion.html.erb:
--------------------------------------------------------------------------------
1 | Dear <%= @person.display_name %>,
2 |
3 | Your fundraiser, <%= @fundraiser.title %> , has reached 50% of its funding goal. Keep spreading the word to get it to 100%!
--------------------------------------------------------------------------------
/app/views/mailer/notify_creator_of_fundraiser_half_completion.text.erb:
--------------------------------------------------------------------------------
1 | Dear <%= @person.display_name %>,
2 |
3 | Your fundraiser, <%= @fundraiser.title %>, has reached 50% of its funding goal. Keep spreading the word to get it to 100%!
4 |
5 | <%= @fundraiser.frontend_url %>
6 |
--------------------------------------------------------------------------------
/app/views/mailer/notify_stakeholders_of_developer_work_stopped.text.erb:
--------------------------------------------------------------------------------
1 | Hi <%= @person.display_name %>,
2 |
3 | <%= @solution.person.display_name %> has stopped working on their solution to "<%= @solution.issue.title %>".
4 |
5 | You could try increasing the bounty to entice more developers! <%= "#{Api::Application.config.www_url}issues/#{@solution.issue.to_param}/bounty" %>
--------------------------------------------------------------------------------
/app/views/mailer/proposal_appointed_to_team.text.erb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/views/mailer/proposal_appointed_to_team.text.erb
--------------------------------------------------------------------------------
/app/views/mailer/proposal_rejected_to_team.html.erb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/views/mailer/proposal_rejected_to_team.html.erb
--------------------------------------------------------------------------------
/app/views/mailer/proposal_rejected_to_team.text.erb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/app/views/mailer/proposal_rejected_to_team.text.erb
--------------------------------------------------------------------------------
/app/views/mailer/team_member_added.html.erb:
--------------------------------------------------------------------------------
1 | Hi <%= @person.display_name %>,
2 |
3 |
4 | "><%= @invitee.display_name %> was just added to the "><%= @team.name %> team on Bountysource.
5 |
--------------------------------------------------------------------------------
/app/views/mailer/team_member_added.text.erb:
--------------------------------------------------------------------------------
1 | Hi <%= @person.display_name %>,
2 |
3 | <%= @invitee.display_name %> was just added to the <%= @team.name %> team on Bountysource.
4 |
5 | You can view the team members here: <%= "#{Api::Application.config.www_url}teams/#{@team.to_param}/members" %>
6 |
--------------------------------------------------------------------------------
/app/views/mailer/team_payin_refunded.md.erb:
--------------------------------------------------------------------------------
1 | Hi <%= @person.first_name %>,
2 |
3 | The $<%= @team_payin.amount.round %> contribution you made to <%= @team_payin.team.name %> has been refunded to your Bountysource account.
4 |
--------------------------------------------------------------------------------
/app/views/mailer/team_update_created.md.erb:
--------------------------------------------------------------------------------
1 | <%= @update.body %>
2 |
--------------------------------------------------------------------------------
/app/views/mailer/unsubscribed.html.erb:
--------------------------------------------------------------------------------
1 | Hi <%= @person.first_name %>,
2 |
3 | You have been unsubscribed from <%=@email_type%> emails.
4 |
--------------------------------------------------------------------------------
/app/views/mailer/unsubscribed.text.erb:
--------------------------------------------------------------------------------
1 | Hi <%= @person.first_name %>,
2 |
3 | You have been unsubscribed from <%=@email_type%> emails.
4 |
--------------------------------------------------------------------------------
/app/views/proposals/partials/base.rabl:
--------------------------------------------------------------------------------
1 | attribute :id
2 | attribute :amount
3 | attribute :estimated_work
4 | attribute :completed_by
5 | attribute :abstract
6 | attribute :bio
7 | attribute :state
8 | attribute :created_at
9 | attribute :updated_at
10 |
--------------------------------------------------------------------------------
/app/views/transactions/partials/items/proposal.rabl:
--------------------------------------------------------------------------------
1 | node(:type) { root_object.class.name }
2 | extends "proposals/partials/base"
3 |
4 | child(:issue => :issue) do
5 | extends "issues/partials/base"
6 | extends "issues/partials/tracker"
7 | end
8 |
9 | child(:person => :person) do
10 | extends "people/partials/base"
11 | end
12 |
--------------------------------------------------------------------------------
/bin/bundle:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3 | load Gem.bin_path('bundler', 'bundle')
4 |
--------------------------------------------------------------------------------
/bin/rails:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | APP_PATH = File.expand_path('../../config/application', __FILE__)
3 | require_relative '../config/boot'
4 | require 'rails/commands'
5 |
--------------------------------------------------------------------------------
/bin/rake:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require_relative '../config/boot'
3 | require 'rake'
4 | Rake.application.run
5 |
--------------------------------------------------------------------------------
/config/boot.rb:
--------------------------------------------------------------------------------
1 | require 'rubygems'
2 |
3 | # Set up gems listed in the Gemfile.
4 | ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
5 |
6 | require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE'])
7 |
--------------------------------------------------------------------------------
/config/environment.rb:
--------------------------------------------------------------------------------
1 | # Load the rails application
2 | require File.expand_path('../application', __FILE__)
3 | require 'display_money'
4 | #require 'heroku_timeout'
5 |
6 | # Initialize the rails application
7 | Api::Application.initialize!
8 |
--------------------------------------------------------------------------------
/config/initializers/active_record_marshaling.rb:
--------------------------------------------------------------------------------
1 | ApplicationRecord.class_eval do
2 | def marshal_dump
3 | raise "Can't marshal a new_record" if new_record?
4 | id
5 | end
6 |
7 | def marshal_load(id)
8 | init_with('attributes' => self.class.find(id).attributes)
9 | end
10 | end
11 |
--------------------------------------------------------------------------------
/config/initializers/active_record_merge.rb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/config/initializers/active_record_merge.rb
--------------------------------------------------------------------------------
/config/initializers/assets.rb:
--------------------------------------------------------------------------------
1 | Rails.application.config.assets.precompile += %w( app.js bountysource.css vendors.js zenmix.js admin.js admin.css admin_vendors.js salt.js salt.css )
2 | Rails.application.config.assets.paths << Rails.root.join('vendor', 'assets', 'components')
3 | Rails.application.config.angular_templates.ignore_prefix = 'bs_templates/'
4 |
--------------------------------------------------------------------------------
/config/initializers/big_decimal_json_parse_fix.rb:
--------------------------------------------------------------------------------
1 | # require 'bigdecimal'
2 | #
3 | # class BigDecimal
4 | # def as_json(options = nil) #:nodoc:
5 | # if finite?
6 | # self
7 | # else
8 | # NilClass::AS_JSON
9 | # end
10 | # end
11 | # end
12 |
--------------------------------------------------------------------------------
/config/initializers/bitcoin_money.rb:
--------------------------------------------------------------------------------
1 | Money::Currency.register(
2 | :priority => 1,
3 | :iso_code => "BTC",
4 | :name => "Bitcoin",
5 | :symbol => "BTC",
6 | :subunit => "Satoshi",
7 | :subunit_to_unit => 100000000,
8 | :separator => ".",
9 | :delimiter => ","
10 | )
11 |
--------------------------------------------------------------------------------
/config/initializers/debugger.rb:
--------------------------------------------------------------------------------
1 | if Rails.env.development? && ENV['DEBUGGER']
2 | begin
3 | Debugger.start_remote
4 | Debugger.settings[:autoeval] = true
5 | puts "=> Debugger enabled. Command to connect: rdebug -c"
6 | rescue => e
7 | puts "=> ERROR: Debugger not enabled (#{e})"
8 | end
9 | end
10 |
11 |
--------------------------------------------------------------------------------
/config/initializers/delayed_job.rb:
--------------------------------------------------------------------------------
1 | Delayed::Backend::ActiveRecord::Job.logger.level = 1
2 | Delayed::Worker.default_priority = 50
3 | Delayed::Worker.max_attempts = 3
4 |
5 | Delayed::Worker.queue_attributes = {
6 | searchkick: { priority: 100 }
7 | }
--------------------------------------------------------------------------------
/config/initializers/elasticsearch.rb:
--------------------------------------------------------------------------------
1 | if Rails.env.production?
2 | Searchkick.aws_credentials = {
3 | access_key_id: ENV["AWS_ACCESS_KEY_ID"],
4 | secret_access_key: ENV["AWS_SECRET_ACCESS_KEY"],
5 | region: "us-east-1"
6 | }
7 | end
--------------------------------------------------------------------------------
/config/initializers/enumerable_find_value.rb:
--------------------------------------------------------------------------------
1 | module Enumerable
2 | def find_value
3 | each { |i| obj = yield(i); return obj unless obj.nil? }
4 | nil
5 | end
6 | end
7 |
--------------------------------------------------------------------------------
/config/initializers/mime_types.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # Add new mime types for use in respond_to blocks:
4 | # Mime::Type.register "text/richtext", :rtf
5 | # Mime::Type.register_alias "text/html", :iphone
6 |
--------------------------------------------------------------------------------
/config/initializers/new_relic_unicorn.rb:
--------------------------------------------------------------------------------
1 | NewRelic::Agent.after_fork(:force_reconnect => true) if defined? Unicorn
2 |
--------------------------------------------------------------------------------
/config/initializers/nokogiri.rb:
--------------------------------------------------------------------------------
1 | #CVE-2015-3227
2 | ActiveSupport::XmlMini.backend = 'Nokogiri'
3 |
--------------------------------------------------------------------------------
/config/initializers/payments.rb:
--------------------------------------------------------------------------------
1 | Api::Application.config.payments = {
2 | bounty_fee: 500, # cents!
3 | }
4 |
--------------------------------------------------------------------------------
/config/initializers/ruby_template_handler.rb:
--------------------------------------------------------------------------------
1 | ActionView::Template.register_template_handler(:rb, :source.to_proc)
--------------------------------------------------------------------------------
/config/initializers/stripe.rb:
--------------------------------------------------------------------------------
1 | Stripe.api_key = ENV['STRIPE_API_KEY']
2 |
--------------------------------------------------------------------------------
/config/initializers/timeout.rb:
--------------------------------------------------------------------------------
1 | # config/initializers/timeout.rb
2 | #Rack::Timeout.timeout = 10 # seconds
3 |
--------------------------------------------------------------------------------
/config/locales/en.yml:
--------------------------------------------------------------------------------
1 | # Sample localization file for English. Add more files in this directory for other locales.
2 | # See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
3 |
4 | en:
5 | hello: "Hello world"
6 |
--------------------------------------------------------------------------------
/db/migrate/20170220040901_add_quickbooks_columns.rb:
--------------------------------------------------------------------------------
1 | class AddQuickbooksColumns < ActiveRecord::Migration[5.0]
2 | def change
3 | add_column :people, :quickbooks_vendor_id, :integer
4 | add_column :cash_outs, :quickbooks_transaction_id, :integer
5 | end
6 | end
7 |
--------------------------------------------------------------------------------
/db/migrate/20171126185423_create_takedowns.rb:
--------------------------------------------------------------------------------
1 | class CreateTakedowns < ActiveRecord::Migration[5.0]
2 | def change
3 | create_table :takedowns do |t|
4 | t.integer :linked_account_id, null: false
5 | t.timestamps
6 | end
7 | end
8 | end
9 |
--------------------------------------------------------------------------------
/db/migrate/20171210181208_drop_gittip_ipns.rb:
--------------------------------------------------------------------------------
1 | class DropGittipIpns < ActiveRecord::Migration[5.0]
2 | def change
3 | drop_table :gittip_ipns
4 | end
5 | end
6 |
--------------------------------------------------------------------------------
/db/migrate/20180302084704_remove_txn_id_non_null_from_payment_notification.rb:
--------------------------------------------------------------------------------
1 | class RemoveTxnIdNonNullFromPaymentNotification < ActiveRecord::Migration[5.0]
2 | def change
3 | change_column_null :payment_notifications, :txn_id, true
4 | end
5 | end
6 |
--------------------------------------------------------------------------------
/db/migrate/20180314002424_add_is_fraud_to_cash_outs.rb:
--------------------------------------------------------------------------------
1 | class AddIsFraudToCashOuts < ActiveRecord::Migration[5.0]
2 | def change
3 | add_column :cash_outs, :is_fraud, :boolean, null: false, default: false
4 | end
5 | end
6 |
--------------------------------------------------------------------------------
/db/migrate/20180328112330_remove_linked_account_uid_not_null.rb:
--------------------------------------------------------------------------------
1 | class RemoveLinkedAccountUidNotNull < ActiveRecord::Migration[5.0]
2 | def change
3 | change_column_null :linked_accounts, :uid, true
4 | end
5 | end
6 |
--------------------------------------------------------------------------------
/db/migrate/20180403074459_add_password_reset_token_to_person.rb:
--------------------------------------------------------------------------------
1 | class AddPasswordResetTokenToPerson < ActiveRecord::Migration[5.1]
2 | def change
3 | add_column :people, :reset_digest, :string
4 | add_column :people, :reset_sent_at, :datetime
5 | end
6 | end
7 |
--------------------------------------------------------------------------------
/db/migrate/20180424182356_create_wallets.rb:
--------------------------------------------------------------------------------
1 | class CreateWallets < ActiveRecord::Migration[5.1]
2 | def change
3 | create_table :wallets do |t|
4 | t.integer :person_id, null: false
5 | t.string :label
6 | t.string :eth_addr, null: false
7 |
8 | t.timestamps
9 | end
10 | end
11 | end
12 |
--------------------------------------------------------------------------------
/db/migrate/20180426033339_add_verified_to_wallets.rb:
--------------------------------------------------------------------------------
1 | class AddVerifiedToWallets < ActiveRecord::Migration[5.1]
2 | def change
3 | add_column :wallets, :verified, :boolean, default: false
4 | add_column :wallets, :primary, :boolean, default: false
5 | add_index :wallets, :person_id
6 | end
7 | end
8 |
--------------------------------------------------------------------------------
/db/migrate/20180501124659_add_balance_to_issue_addresses.rb:
--------------------------------------------------------------------------------
1 | class AddBalanceToIssueAddresses < ActiveRecord::Migration[5.1]
2 | def change
3 | add_column :issue_addresses, :balance_updated_at, :datetime
4 | add_column :issue_addresses, :balance, :jsonb
5 | end
6 | end
7 |
--------------------------------------------------------------------------------
/db/migrate/20180530004731_add_unique_index_to_issue_address_and_bounties.rb:
--------------------------------------------------------------------------------
1 | class AddUniqueIndexToIssueAddressAndBounties < ActiveRecord::Migration[5.1]
2 | def change
3 | remove_index :issue_addresses, :public_address
4 | add_index :issue_addresses, :public_address, unique: true
5 | add_index :crypto_bounties, :transaction_hash, unique: true
6 | end
7 | end
8 |
--------------------------------------------------------------------------------
/db/migrate/20180610184815_create_quickbooks_tokens.rb:
--------------------------------------------------------------------------------
1 | class CreateQuickbooksTokens < ActiveRecord::Migration[5.1]
2 | def change
3 | create_table :quickbooks_tokens do |t|
4 | t.string :access_token
5 | t.string :refresh_token
6 | t.datetime :expires_at
7 |
8 | t.timestamps
9 | end
10 | end
11 | end
12 |
--------------------------------------------------------------------------------
/db/migrate/20180613071303_add_remote_id_to_linked_accounts.rb:
--------------------------------------------------------------------------------
1 | class AddRemoteIdToLinkedAccounts < ActiveRecord::Migration[5.1]
2 | def change
3 | add_column :linked_accounts, :remote_id, :string
4 | end
5 | end
6 |
--------------------------------------------------------------------------------
/db/migrate/20180627074014_add_default_to_crypto_bounties.rb:
--------------------------------------------------------------------------------
1 | class AddDefaultToCryptoBounties < ActiveRecord::Migration[5.1]
2 | def change
3 | change_column :crypto_pay_outs, :state, :string, default: 'Pending-Approval'
4 | end
5 | end
6 |
--------------------------------------------------------------------------------
/db/migrate/20180627074159_create_crypto_pay_out_claim_events.rb:
--------------------------------------------------------------------------------
1 | class CreateCryptoPayOutClaimEvents < ActiveRecord::Migration[5.1]
2 | def change
3 | create_table :crypto_pay_out_claim_events do |t|
4 | t.string :type
5 | t.references :crypto_pay_out
6 |
7 | t.timestamps
8 | end
9 | end
10 | end
11 |
--------------------------------------------------------------------------------
/db/migrate/20180627094310_change_columns_in_crypto_pay_out_txns.rb:
--------------------------------------------------------------------------------
1 | class ChangeColumnsInCryptoPayOutTxns < ActiveRecord::Migration[5.1]
2 | def change
3 | add_column :crypto_pay_out_txns, :type, :string
4 | remove_column :crypto_pay_out_txns, :fee_txn, :boolean
5 | end
6 | end
7 |
--------------------------------------------------------------------------------
/db/migrate/20180628015138_add_foreign_key_for_crypto_tables.rb:
--------------------------------------------------------------------------------
1 | class AddForeignKeyForCryptoTables < ActiveRecord::Migration[5.1]
2 | def change
3 | add_foreign_key :crypto_pay_out_claim_events, :crypto_pay_outs
4 | add_foreign_key :crypto_pay_out_txns, :crypto_pay_outs
5 | add_foreign_key :crypto_pay_outs, :issues
6 | end
7 | end
8 |
--------------------------------------------------------------------------------
/db/migrate/20180717083536_remove_unique_index_for_crypto_pay_out.rb:
--------------------------------------------------------------------------------
1 | class RemoveUniqueIndexForCryptoPayOut < ActiveRecord::Migration[5.1]
2 | def change
3 | remove_index :crypto_pay_outs, :issue_id
4 | add_index :crypto_pay_outs, :issue_id
5 | end
6 | end
7 |
--------------------------------------------------------------------------------
/db/migrate/20180719030123_add_reason_to_crypto_pay_out.rb:
--------------------------------------------------------------------------------
1 | class AddReasonToCryptoPayOut < ActiveRecord::Migration[5.1]
2 | def change
3 | add_column :crypto_pay_outs, :reason, :string
4 | end
5 | end
6 |
--------------------------------------------------------------------------------
/db/migrate/20180827073853_add_override_fee_percentage_to_account.rb:
--------------------------------------------------------------------------------
1 | class AddOverrideFeePercentageToAccount < ActiveRecord::Migration[5.1]
2 | def change
3 | add_column :accounts, :override_fee_percentage, :integer
4 | end
5 | end
6 |
--------------------------------------------------------------------------------
/db/migrate/20210110204412_add_completed_at_to_pacts.rb:
--------------------------------------------------------------------------------
1 | class AddCompletedAtToPacts < ActiveRecord::Migration[5.1]
2 | def change
3 | add_column :pacts, :completed_at, :datetime
4 | end
5 | end
6 |
--------------------------------------------------------------------------------
/dump.rdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/dump.rdb
--------------------------------------------------------------------------------
/lib/assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/lib/assets/.gitkeep
--------------------------------------------------------------------------------
/lib/display_money.rb:
--------------------------------------------------------------------------------
1 | class Money
2 | # utility function to display whole number of currency, e.g. $10
3 | def display_whole_amount
4 | self.symbol + self.to_s.to_i.to_s
5 | end
6 |
7 | # utility function to display "dollars" & "cents", e.g. $10.50
8 | def display_amount
9 | self.symbol + self.to_s
10 | end
11 | end
12 |
--------------------------------------------------------------------------------
/lib/heroku_timeout.rb:
--------------------------------------------------------------------------------
1 | # have rack raise an exception if the request goes longer than 20s
2 | Rack::Timeout.timeout = ENV['RACK_TIMEOUT'].to_i if ENV['RACK_TIMEOUT']
3 |
4 | # set 10 second timeout on postgres queries
5 | if ENV['POSTGRES_TIMEOUT']
6 | ApplicationRecord.connection.execute("set statement_timeout TO #{ENV['POSTGRES_TIMEOUT'].to_i}s;")
7 | end
8 |
--------------------------------------------------------------------------------
/lib/tasks/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/lib/tasks/.gitkeep
--------------------------------------------------------------------------------
/lib/tasks/cache.rake:
--------------------------------------------------------------------------------
1 | namespace :cache do
2 | desc "Clears Rails cache"
3 | task :clear => :environment do
4 | Rails.cache.clear
5 | end
6 | end
--------------------------------------------------------------------------------
/log/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/log/.gitkeep
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/public/favicon.ico
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | # robotstxt.org
2 |
3 | User-agent: *
4 |
--------------------------------------------------------------------------------
/spec/controllers/admin_controller_spec.rb:
--------------------------------------------------------------------------------
1 | require 'spec_helper'
2 |
3 | describe AdminController do
4 |
5 | end
6 |
--------------------------------------------------------------------------------
/spec/controllers/api/base_controller_spec.rb:
--------------------------------------------------------------------------------
1 | require 'spec_helper'
2 |
3 | describe Api::BaseController do
4 | it_behaves_like "request tracking"
5 | end
6 |
7 |
8 |
--------------------------------------------------------------------------------
/spec/controllers/api/v1/home_controller_spec.rb:
--------------------------------------------------------------------------------
1 | require 'spec_helper'
2 |
3 | describe Api::V1::HomeController do
4 |
5 | end
6 |
--------------------------------------------------------------------------------
/spec/controllers/api/v2/account_controller_spec.rb:
--------------------------------------------------------------------------------
1 | require 'spec_helper'
2 |
3 | describe Api::V2::AccountController do
4 |
5 | end
6 |
--------------------------------------------------------------------------------
/spec/controllers/api/v2/backers_controller_spec.rb:
--------------------------------------------------------------------------------
1 | require 'spec_helper'
2 |
3 | describe Api::V2::BackersController do
4 |
5 | end
6 |
--------------------------------------------------------------------------------
/spec/controllers/api/v2/cart_controller_spec.rb:
--------------------------------------------------------------------------------
1 | require 'spec_helper'
2 |
3 | describe Api::V2::CartController do
4 |
5 | end
6 |
--------------------------------------------------------------------------------
/spec/controllers/api/v2/fundraiser_rewards_controller_spec.rb:
--------------------------------------------------------------------------------
1 | require 'spec_helper'
2 |
3 | describe Api::V2::FundraiserRewardsController do
4 |
5 | end
6 |
--------------------------------------------------------------------------------
/spec/controllers/api/v2/fundraiser_updates_controller_spec.rb:
--------------------------------------------------------------------------------
1 | require 'spec_helper'
2 |
3 | describe Api::V2::TeamUpdatesController do
4 |
5 | end
6 |
--------------------------------------------------------------------------------
/spec/controllers/api/v2/fundraisers_controller_spec.rb:
--------------------------------------------------------------------------------
1 | require 'spec_helper'
2 |
3 | describe Api::V2::FundraisersController do
4 |
5 | end
6 |
--------------------------------------------------------------------------------
/spec/controllers/api/v2/people_controller_spec.rb:
--------------------------------------------------------------------------------
1 | require 'spec_helper'
2 |
3 | describe Api::V2::PeopleController do
4 |
5 | end
6 |
--------------------------------------------------------------------------------
/spec/controllers/api/v2/people_trackers_controller_spec.rb:
--------------------------------------------------------------------------------
1 | require 'spec_helper'
2 |
3 | describe Api::V2::PeopleTrackersController do
4 |
5 | end
6 |
--------------------------------------------------------------------------------
/spec/controllers/api/v2/pledges_controller_spec.rb:
--------------------------------------------------------------------------------
1 | require 'spec_helper'
2 |
3 | describe Api::V2::PledgesController do
4 |
5 | end
6 |
--------------------------------------------------------------------------------
/spec/controllers/api/v2/plugins_controller_spec.rb:
--------------------------------------------------------------------------------
1 | require 'spec_helper'
2 |
3 | describe Api::V2::PluginsController do
4 |
5 | end
6 |
--------------------------------------------------------------------------------
/spec/controllers/api/v2/trackers_conrtoller_spec.rb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/spec/controllers/api/v2/trackers_conrtoller_spec.rb
--------------------------------------------------------------------------------
/spec/controllers/application_controller_spec.rb:
--------------------------------------------------------------------------------
1 | require 'spec_helper'
2 |
3 | describe ApplicationController do
4 | it_behaves_like "request tracking"
5 | end
6 |
--------------------------------------------------------------------------------
/spec/factories/coinbase_orders.rb:
--------------------------------------------------------------------------------
1 | # Read about factories at https://github.com/thoughtbot/factory_girl
2 |
3 | FactoryBot.define do
4 | factory :coinbase_order do
5 | end
6 | end
7 |
--------------------------------------------------------------------------------
/spec/factories/coinbases.rb:
--------------------------------------------------------------------------------
1 | # Read about factories at https://github.com/thoughtbot/factory_girl
2 |
3 | FactoryBot.define do
4 | factory :coinbasis, :class => 'Coinbase' do
5 | end
6 | end
7 |
--------------------------------------------------------------------------------
/spec/factories/github_commits.rb:
--------------------------------------------------------------------------------
1 | # Read about factories at https://github.com/thoughtbot/factory_girl
2 |
3 | FactoryBot.define do
4 | factory :github_commit, :class => 'Github::Commit' do
5 | end
6 | end
7 |
--------------------------------------------------------------------------------
/spec/factories/team_payin.rb:
--------------------------------------------------------------------------------
1 | # Read about factories at https://github.com/thoughtbot/factory_girl
2 |
3 | FactoryBot.define do
4 | factory :team_payin do
5 | association :team, factory: :team
6 | association :person, factory: :person
7 | amount 100
8 | # add associated account?
9 | end
10 | end
11 |
--------------------------------------------------------------------------------
/spec/factories/tracker_languages.rb:
--------------------------------------------------------------------------------
1 | # Read about factories at https://github.com/thoughtbot/factory_girl
2 |
3 | FactoryBot.define do
4 | factory :tracker_language do
5 | end
6 | end
7 |
--------------------------------------------------------------------------------
/spec/models/pact.rb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/spec/models/pact.rb
--------------------------------------------------------------------------------
/spec/models/person_relation/person_relation_spec.rb:
--------------------------------------------------------------------------------
1 | require 'spec_helper'
2 |
3 | describe PersonRelation::Base do
4 | end
5 |
--------------------------------------------------------------------------------
/spec/requests/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bountysource/core/dd03553aaea0ec94943d26726ce353fd346e179d/spec/requests/.gitkeep
--------------------------------------------------------------------------------
/spec/support/api_v2_controller_context.rb:
--------------------------------------------------------------------------------
1 | RSpec.shared_context 'api v2 controller' do
2 | let(:params) do
3 | {}
4 | end
5 |
6 | before do
7 | request.headers['HTTP_ACCEPT'] = 'application/vnd.bountysource+json; version=2'
8 | end
9 | end
10 |
--------------------------------------------------------------------------------
/spec/support/mock_github_api.rb:
--------------------------------------------------------------------------------
1 | class MockGithubApi
2 |
3 | def method_missing(*args)
4 | true
5 | end
6 |
7 | class Success < MockGithubApi
8 | def success?
9 | true
10 | end
11 | end
12 |
13 | class Error < MockGithubApi
14 | def success?
15 | false
16 | end
17 | end
18 |
19 | end
--------------------------------------------------------------------------------
/spec/support/response_status_helper.rb:
--------------------------------------------------------------------------------
1 | # assert_response that allows individual status codes in the 400 range to be checked.
2 | # vanilla assert_response only allows 404? that's not very useful...
3 | def assert_response(expected)
4 | expect(response.code.to_i).to eq(Rack::Utils.status_code(expected))
5 | end
--------------------------------------------------------------------------------