Commit Graph

324 Commits

Author SHA1 Message Date
Josh Hagins b737a5e2ef Remove {develop,production}_brew_cask scripts (#25938) 2016-10-19 11:06:01 -04:00
Josh Hagins d20c943e0a Remove {find,fix,merge}_outdated_appcasts scripts (#25936)
Refs https://github.com/caskroom/homebrew-cask/issues/25926
2016-10-19 10:49:22 -04:00
Josh Hagins 0d60d8f73d Rename generate_issue_template_urls and take only one arg 2016-10-12 05:48:47 -04:00
Michael Ford 4e2198ad6b Merge pull request #24339 from caskroom/cask_switch_https-improv
cask_switch_https: general improvements
2016-09-10 14:47:48 +08:00
Vítor Galvão 414a98d00f sync_templates_and_ci: fix mv (#24344)
Update yujitach-menumeters to require El Capitan

Single one line addition, as this fails on Yosemite:
  depends_on macos: '>= :el_capitan'

Verified by myself on 10.10.5
https://github.com/yujitach/MenuMeters/issues/10

update needed blank line

depends_on macos now seperate block. [This isn't in the stanza docs btw]

removed blank space that previous edit left with auto-tab

 cask style --fix yujitach-menumeters.rb
== yujitach-menumeters.rb ==
C:  9:  1: [Corrected] stanza groups should be separated by a single empty line
C:  9:  1: [Corrected] Trailing whitespace detected.
C: 10:  1: [Corrected] Extra blank line detected.

-- Fixed
2016-09-09 09:50:56 +01:00
Josh Hagins 4b6d5b983f sync_templates_and_ci: use rsync (#24341)
* sync_templates_and_ci: use rsync

rsync allows us to delete files present at the destination but
not the source.

Also split arguments into multiple lines for readability/maintainability.

* Collapse rsync argument list
2016-09-08 15:26:14 -04:00
Joshua Hagins 852607aafe Make sync_templates_and_ci script executable 2016-09-08 13:41:06 -04:00
Vítor Galvão 4662092f6a add sync_github_templates (#24335) 2016-09-08 18:39:28 +01:00
Vítor Galvão d40d6bdb64 cask_switch_https: general improvements 2016-09-08 18:29:31 +01:00
Vítor Galvão ca9ace0863 merge_outdated_appcasts: use caskroom_online where possible 2016-09-08 16:13:20 +01:00
Vítor Galvão 7a51dee5ed find_outdated_appcasts: use caskroom_online where possible 2016-09-08 16:12:36 +01:00
Vítor Galvão 0bc14686eb Rename cask-switch-https to cask_switch_https 2016-09-08 09:32:01 +01:00
Markus Reiter 15171687a1 Move back documentation and developer scripts. (#23920) 2016-08-19 19:21:44 +02:00
Anastasia Sulyagina 0ec06e9a95 Cask core code moved to Homebrew (#23852) 2016-08-19 16:53:18 +02:00
Mike McQuaid 1f37eba4d0 Assume Ruby 2. (#23889)
Homebrew now always uses Ruby 2.0 so you no longer need to check in all
these places for 2.0 or for 2.1 valid syntax.
2016-08-18 10:58:53 -04:00
Vítor Galvão 9cc8218687 simplify tail in developer scripts (#23465) 2016-08-05 13:53:31 +01:00
Markus Reiter a547d190c1 Fix `force_encoding` not working in `generate_cask_token`. (#23115) 2016-07-26 01:34:52 +02:00
Markus Reiter 1806aaf9a3 Change hash rockets to colons. (#22951) 2016-07-20 01:05:31 -04:00
Markus Reiter ed5452b728 Run RuboCop on all core files. (#22855)
Add Style/BlockDelimiters cop.
2016-07-19 14:11:22 -04:00
Josh Hagins a9a0cb27a1 Make audit_modified_casks an internal cmd (#22826) 2016-07-15 13:09:10 -04:00
Vítor Galvão 6651ba0954 find_sparkle_appcast: use user-agent instead of header 2016-07-15 16:25:31 +01:00
Josh Hagins 36c99fe72a Add Homebrew libs to LOAD_PATH in audit_modified_casks (#22603) 2016-07-05 11:32:58 -04:00
Markus Reiter 11eedac599 Core Code Cleanup 2016-07-05 02:29:10 -04:00
Markus Reiter 6dad86849d use `/usr/libexec/PlistBuddy` in `list_id`-scripts (#22592) 2016-07-05 02:00:20 -04:00
Vítor Galvão 9404c33dab developer scripts: OS X > macOS 2016-06-13 20:36:20 +01:00
Vítor Galvão 4d2526bfb5 project_stats: removed sebastian 2016-02-25 01:15:10 +00:00
Vítor Galvão 5658eb0e2b outdated_appcasts scripts: remove caskroom/unofficial 2016-02-19 15:23:30 +00:00
Vítor Galvão 2530e0a977 list_pkg_ids_by_regexp: small instructions tweak 2016-02-18 18:12:22 +00:00
Vítor Galvão f23d17c2f2 added scripts for outdated appcasts 2016-02-09 23:08:21 +00:00
Vítor Galvão 13da90406f dev/bin/find_sparkle_appcast: send browser headers 2016-01-30 22:33:28 +00:00
Vítor Galvão cd6d7ca9ef dev/bin/find_sparkle_appcast: fix message for new style format 2016-01-30 22:33:13 +00:00
Vítor Galvão 01046daad5 dev/bin/find_sparkle_appcast: remove block comments 2016-01-30 22:32:55 +00:00
Vítor Galvão 0370294cec initial document breaks 2016-01-20 00:48:20 +00:00
Josh Hagins 71e2400442 audit_modified_casks: exclude non-ruby files in Casks 2016-01-16 18:19:31 -05:00
Vítor Galvão a7cbcdd49b Merge pull request #17063 from tsparber/fix-wording-find-sparkle
find_sparkle_appcast: Suggest stanza location
2016-01-15 23:32:55 +00:00
Tommy Sparber 7089ee761c find_sparkle_appcast: Fix typos 2016-01-16 01:29:47 +11:00
Vítor Galvão 781bdf5711 Merge pull request #17058 from caskroom/delete-faq
Delete FAQ.md
2016-01-15 14:13:27 +00:00
Vítor Galvão 6a531ab261 Delete FAQ.md 2016-01-15 14:12:51 +00:00
Vítor Galvão dfe7dbefa6 find_sparkle_appcast: add --compress to curl command 2016-01-15 13:28:54 +00:00
Vítor Galvão 95abd932d7 Merge pull request #16787 from tsparber/better-curl-url-check
Use curl-check-url to check for HTTP 200 using GET
2016-01-15 01:48:25 +00:00
Vítor Galvão 5d1198e08b find_sparkle_appcast: point out what address was tried when there is an error 2016-01-13 21:51:50 +00:00
Aditya Dalal 536e1419f2 find_sparkle_appcast: Change to checkpoint 2016-01-13 16:30:33 -05:00
Tommy Sparber 583ec64f91 Use curl-check-url to check for HTTP 200 using GET 2016-01-13 13:34:33 +11:00
Vítor Galvão e328aa89bb find_sparkle_appcast: correct appcast_found_error messages 2016-01-12 15:16:26 +00:00
Vítor Galvão eb00bf28e3 find_sparkle_appcast: clarify response code if not 200 2016-01-12 14:47:22 +00:00
Vítor Galvão 6d2ececc02 Merge pull request #16701 from vitorgalvao/find_sparkle_appcast
developer scripts: add find_sparkle_appcast
2016-01-12 00:46:11 +00:00
Vítor Galvão fbc398fab6 developer scripts: add find_sparkle_appcast 2016-01-10 21:01:06 +00:00
Vítor Galvão 4c77c208d9 cask-switch-https: improved getting cask_status 2016-01-10 20:53:50 +00:00
Josh Hagins 89242ea150 Merge pull request #16368 from jawshooah/error-suggestions
Improve error message suggestions
2016-01-05 01:04:28 -05:00
Josh Hagins a23e270414 Use global var $stderr instead of constant STDERR 2016-01-04 18:15:28 -05:00
Josh Hagins 56308931ef Add rake task to generate man page 2016-01-04 16:59:12 -05:00
Josh Hagins bbef6e1d10 Port audit-modified-casks to Ruby for speed
This allows us to make use of the Hbc core instead of calling the CLI.
2015-12-28 07:33:50 -05:00
Tommy Sparber 0bc7ef8d8c cask-switch-https: Fix script call when developer/bin is not in $PATH 2015-12-28 16:26:01 +11:00
Tommy Sparber e0156ba83e Add a tool to check if a HTTPS url exists
This tool checks if for a given HTTP url (url, appcast,
homepage stanza), the HTTPS variants lieds to an existing Page
(HTTP-Status 200, valid certificate chain). If it does the cask
is updated accordingly.
2015-12-27 16:30:55 +11:00
Tommy Sparber 654e9cec09 irregular_cask_whitespace: Remove DSL version
See #15901
2015-12-22 11:16:48 +11:00
Vítor Galvão c7dd7cd40b FAQ.md: make issues url point to reporting-bugs instructions 2015-12-18 01:31:57 +00:00
Josh Hagins 25f7cfee04 Remove DSL versions in docs and scripts
Closes #15912.
2015-12-17 19:57:15 -05:00
Josh Hagins 4104c6d42d Add script list_login_items_for_app 2015-12-11 23:50:28 -05:00
Josh Hagins 9411fc6caf Add script to update issue template URLs in docs
Further explain usage of update_issue_template_urls

Explicitly use OSX sed
2015-12-10 17:23:32 -05:00
Josh Hagins 23bcaa4eca Add script to generate issue template URLs 2015-12-10 17:04:13 -05:00
Josh Hagins bccecb0dc6 Print commit range in audit_modified_casks 2015-12-09 17:36:23 -05:00
Josh Hagins 32668e7ddd Fix brew-cask location in audit_modified_casks 2015-12-09 17:36:23 -05:00
Josh Hagins 2d6b73da21 Shellcheck fixes for develop_brew_cask 2015-12-09 15:47:44 -05:00
Josh Hagins 72ff99a7f1 Changes to develop_brew_cask for #15381 2015-12-09 19:35:11 +00:00
Mike McQuaid fdb4577be8 brew-cask: move to using tap cmd directory.
This provides a few benefits:

- faster `brew cask` execution times as another Ruby process is not
  needed. Cask can instead be loaded in-process with Homebrew. This
  will also make it easier to use some of Homebrew's core code and
  ease moving code from Cask into Homebrew core.
- Users do not need to `brew upgrade` Cask any more: it's done
  automatically on any `brew update` or `git pull` of the Cask tap.
2015-12-09 19:32:49 +00:00
Vítor Galvão 2ce176d6b1 Merge pull request #14652 from vitorgalvao/team-edit
Edits to maintainers
2015-11-02 14:31:25 +00:00
Vítor Galvão 0092b38bed finished removing maintainers 2015-11-02 14:30:33 +00:00
Vítor Galvão cd7e3ff6e6 added adityadalal924 as maintainer 2015-10-28 10:42:37 +00:00
Vítor Galvão a6d00697fd last changes of 'brew --prefix' into 'brew --repository' 2015-10-27 23:56:51 +00:00
Vítor Galvão ef38efc03b removed old maintainers (and fixed missing ones) 2015-10-27 19:28:57 +00:00
Zhiming Wang 2ba0e43759
Fix external command example: Cask => Hbc 2015-08-24 21:02:32 -07:00
Vítor Galvão 6ae1a9889d add new maintainers: jawshooah and Ngrd 2015-07-26 02:18:02 +01:00
Josh Hagins 533e00a345 Clean up some logic in audit_modified_casks script 2015-07-24 13:07:08 -04:00
Josh Hagins 875c624e59 Verify sha256 if version stanza is modified 2015-07-24 13:07:08 -04:00
Josh Hagins ff93bfe3b8 Add developer script to audit modified Casks
This script runs `brew cask audit` on any Casks added or modified in the
given range of commits. If the `url` or `sha256` stanzas have been
modified and `sha256` is not `:no_check`, run the audit with
`--download` to verify the checksum.
2015-07-24 02:39:45 -04:00
Vítor Galvão 83c712741b Merge branch 'strip_launcher_from_names' of https://github.com/rolandwalker/homebrew-cask into rolandwalker-strip_launcher_from_names
Conflicts:
	Casks/googleappengine.rb
	doc/CASK_NAMING_REFERENCE.md
2015-01-29 13:54:06 +00:00
Roland Walker 1ae9ce2bd0 namespace Hbc followups 2015-01-02 10:20:09 -05:00
Roland Walker 202d6019f8 Move all code under an Hbc:: namespace
* convert existing Cask:: namespace to Hbc::
* move Homebrew-fork code under Hbc::
* move freestanding classes such as Tty and TopologicalHash under Hbc::
* recast HOMEBREW_CASK_ constants as HBC_
* modify our Homebrew Formula for backward compatibility
* devscripts and dev docs
2015-01-02 07:27:03 -05:00
Roland Walker 9cb0b1cfdf expand @ symbols in tokens
refs: #8478
2014-12-29 09:41:47 -05:00
Josh Hagins 53581d1637 Fix bug in list_apps_in_pkg script, probably a typo 2014-12-26 15:15:40 -06:00
Roland Walker e01ef5058a generate_cask_token Ruby 2.0 shebang line
It was just carelessness that this script was written in
a way limited to Ruby 2.0, but we may as well be explicit
about that pending a fix.

closes #8021
2014-12-11 11:15:52 -05:00
Roland Walker cb5a40f787 remove constraint that tokens can't start w/ digit
Class names are now completely hidden from the user.  This
commit works by adding a prefix to all Cask class names, which
is considered to be an ugly transitional hack on the way to
representing individual Casks as instances.
2014-12-05 11:54:56 -05:00
Roland Walker dd560acc4a devscript: add new maintainer claui
this mainly affects how the changelog is generated
2014-12-04 14:59:04 -05:00
Roland Walker ba911b9165 Merge pull request #7741 from rolandwalker/reduce_doc_shouting
uncapitalize several doc files
2014-12-03 08:46:39 -05:00
Roland Walker 1e737ab0cd missing require rubygems 2014-12-03 08:18:51 -05:00
Roland Walker 6736f795f6 uncapitalize several doc files
* `alternate_cask_taps.md`
* `automation.md`
* `hacking.md`
* `releasing.md`
2014-12-02 12:20:13 -05:00
Roland Walker a335d3b06d unify and recast "Cask name" & "title" as "token"
* "Canonical App Name" becomes "Simplified App Name"
* devscript `cask_namer` renamed to `generate_cask_token`
* doc file `CASK_NAMING_REFERENCE.md` renamed to `cask_token_reference.md`
* DSL uses `"#{token}"` for interpolation instead of `"#{title}"`
* documentation text
* backend code (variables, method, class names)
* error message text
* tests
* code comments
* Cask comments
* emphasize `tags :name`
* doc: use "vendor" consistently instead of "developer"
* doc: many man page argument descriptions were incorrect
* incidental clarifications

Many backend variables similar to `cask_name` or `cask` have
been standardized to `cask_token`, `token`, etc, resolving a long-
standing ambiguity in which variables named `cask` might contain
a Cask instance or a string token.

In many places the docs could be shortened from "Cask name" to
simply "token", which is desirable because we use the term "Cask"
in too many contexts.
2014-12-01 11:00:23 -05:00
Roland Walker 06fe09d913 remove "launcher" terms in cask_namer 2014-11-25 09:41:19 -05:00
Roland Walker a1495a4729 "cocoa" is a framework to remove from Cask names 2014-11-25 09:22:34 -05:00
Roland Walker e0a3f8d017 whitespace 2014-11-22 09:02:36 -05:00
Roland Walker 93b39ed3c5 comment future possible whitespace irregularities
these don't seem to be followed by all Casks: what is the
existing general rule?
2014-11-22 09:02:29 -05:00
Roland Walker 62bd692387 detect new whitespace irregularities 2014-11-22 09:02:08 -05:00
Roland Walker 2520dd6483 adjust devscripts for DSL 1.0
* expect new-style header in irregular_cask_whitespace
2014-11-21 09:17:35 -05:00
Roland Walker ffc9f769dc use new header form in `cask_name` devscript 2014-11-13 11:45:35 -05:00
Caleb Xu d88385de32 devscript: check ruby version before execution 2014-11-02 15:43:30 -05:00
Roland Walker 73bc4fc532 hide error outputs from plutil 2014-10-21 07:31:18 -04:00
Roland Walker 41aec6cccd regularlize changelog whitespace 2014-10-07 10:26:35 -04:00
Roland Walker 4db0867307 add release date to changelog
retroactively and in template
2014-10-07 10:19:47 -04:00
Roland Walker 77a9012de7 add devscript `irregular_cask_whitespace` 2014-09-26 10:27:31 -04:00
Trey Harris 31d4bf8ce3 Refactor {develop,production}_brew_cask
Almost all of these two scripts are identical. Refactor out the common
bits, saving over 60 lines of repetition.

Right now this is handled by moving all the logic into "develop_brew_cask"
and symlinking "production_brew_cask".

This will be followed by another patch to add a "manage_brew_cask_links"
command to do the same with sub-commands, e.g.,
  manage_brew_cask_links status
returns "production" or "develop",
  manage_brew_cask_links production
does the same as production_brew_cask,
  manage_brew_cask_links develop
does the same as develop_brew_cask, etc. At that point, I'd like to
rename the script "manage_brew_cask_links" and have the two present
names be symlinked to that.

This was motivated by (besides DRY) getting tired of having to
manually check symlinks to see which state I was currently in.
2014-09-14 17:24:39 -04:00
Roland Walker b93206093a updates to release process after v0.40.0 2014-09-08 11:24:38 -04:00
Roland Walker ca45acad25 Merge pull request #5749 from rolandwalker/update_maintainers
update maintainer list
2014-08-12 16:09:47 -04:00
Roland Walker 5faacd885a minor amendments to release process/changelog
based on lessons learned from failed release v0.39.0,
`git push && git push --follow-tags` is smarter because
it reduces the chance of an unreleasable tag being pushed.
(git pushes the tags before it pushes the commits).
2014-08-12 09:00:49 -04:00
Roland Walker 6ce9517cb3 update maintainer list
- add @federicobond
- add @caskroom (it started appearing in the draft changelog)
- fix quoting
2014-08-12 08:53:12 -04:00
Roland Walker c9bedbd280 make example external command work again
`brewcask-dumpcask.rb` was broken by #4964.
2014-06-21 17:01:59 -04:00
Roland Walker 8e8e6399fd updates to release process after v0.37.0 2014-06-19 16:42:25 -04:00
Roland Walker e703bb3bbc update maintainers in devscripts 2014-06-14 08:31:01 -04:00
Roland Walker 6843fedc2d better stubs for changelog docs 2014-06-11 14:19:10 -04:00
Roland Walker 3bc4e32845 update contributor list 2014-06-11 14:19:10 -04:00
Roland Walker 5722cda946 Merge pull request #4729 from rolandwalker/add_list_url_attributes_on_file
devscript: add `list_url_attributes_on_file`
2014-06-06 20:56:38 -04:00
Roland Walker e7a01deb4d devscript: add `list_url_attributes_on_file`
Uses OS X extended attributes (via `xattr`) to find the source
of a downloaded file.
2014-06-06 20:53:26 -04:00
Roland Walker a979c8199a expand trailing '+' when not part of version number 2014-06-06 09:50:01 -04:00
Roland Walker c5940309bc move multiword value into array + quote it 2014-05-22 12:48:39 -04:00
Roland Walker 7cf4b19bdd defensive quoting 2014-05-22 12:37:35 -04:00
Roland Walker 6d494c2610 add missing quotes 2014-05-22 10:48:29 -04:00
Roland Walker 88d08deeff replace backticks with $() 2014-05-22 10:47:02 -04:00
Roland Walker 1465a07263 remove unused variable 2014-05-22 10:46:48 -04:00
Roland Walker 1d0b4f6042 avoid double-substitution in printf 2014-05-22 10:37:13 -04:00
Roland Walker 95c4a0cb42 improve warn construct 2014-05-22 10:29:26 -04:00
Vítor Galvão f85083cb0b Merge pull request #4300 from rolandwalker/bitcoin_core_name_exception
add exception for Cask name `bitcoin-core.rb`
2014-05-11 00:29:00 +01:00
Roland Walker aa6ebd8e41 add exception for Cask name `bitcoin-core.rb`
references #4277, #3634
2014-05-09 09:34:17 -04:00
Roland Walker e8c73b7b66 expand the `+` symbol in Cask names
closes #4275. references discussion in #4106.
2014-05-09 09:32:47 -04:00
Paul Hinze f54eaf7082 update all references to new caskroom org home
global replace of:
  'phinze/homebrew-cask' -> 'caskroom/homebrew-cask'
  'phinze/cask' -> 'caskroom/cask'
  'phinze/homebrew-testcasks' -> 'caskroom/homebrew-testcasks'

and various other specific places that needed updates

<3 the homebrew-cask community!
2014-05-03 10:29:17 -05:00
Roland Walker 400433be20 Adapt to homebrew's move of the tap directory
Closes #4035. Closes #4029. Closes #4026.
2014-04-26 09:42:16 -04:00
Roland Walker b6e65e0409 rescue LoadError for optional `require`
Following up on #3503. Should merit a bugfix release.
2014-03-25 11:22:05 -04:00
Roland Walker b27a385d0b cask_namer: remove activesupport requirement
ActiveSupport is from a gem and not available in a clean
install.  The relevant functionality is made optional. It
is not very commonly called and is furthermore poorly
implemented.
2014-03-11 09:38:11 -04:00
Roland Walker 58db20192f Merge pull request #3443 from rolandwalker/cask_namer
devscript: add `cask_namer`
2014-03-10 10:33:23 -04:00
Roland Walker d76b4a2ef8 devscripts: prefer GNU xargs
Apple-supplied xargs has bugs/limitations, especially
relevant to the -I flag
2014-03-08 11:40:27 -05:00
Roland Walker 99ecfc3651 devscript: add `cask_namer`
This script implements naming rules for App-based Casks
as currently documented.  After some real-world testing, this
logic should be merged into `brew cask create`.  This commit adds
`doc/CASK_NAMING_REFERENCE.md`, and reduces `CONTRIBUTING.md` by
422 words.
2014-03-07 13:43:40 -05:00
Roland Walker af009793a1 devscript: add list_pkg_ids_by_regexp
Inspired by @alebcay in #3431 .
2014-03-07 09:58:25 -05:00
Roland Walker 1c7a6d58e5 devscripts: add new maintainers
make variable name more consistent
2014-03-01 12:42:08 -05:00
Roland Walker 2814bc6a36 add "doutdated" example external command
it acutally does something useful, unlike my previous examples
2014-02-26 06:24:36 -05:00
Roland Walker 6f6a07fc0f mass whitespace cleanup 2014-02-22 21:13:52 -05:00
Roland Walker 74fadd0ac8 devscript: add bump_version script for releasing 2014-02-15 10:53:52 -05:00
Roland Walker 5e0e34a2a6 devscript: no leading `v` on tags for changelog
make the scripts which draft changelog raw material match
the format used in `CHANGELOG.md`
2014-02-15 10:00:20 -05:00
Roland Walker dd4fbbda13 Merge pull request #2925 from rolandwalker/the_long_tail
A histogram view on contributor statistics
2014-02-15 07:37:26 -05:00
Roland Walker e1820d4cf1 A histogram view on contributor statistics 2014-02-14 12:20:31 -05:00
Roland Walker 46cd13e54b devscript: support binary/json plist transparently
minor doc tweak
2014-02-14 12:05:35 -05:00
Roland Walker 273a9d95b3 devscript: add command list_payload_in_pkg 2014-02-10 10:47:12 -05:00
Roland Walker 672a2e52e1 devscript: show new release in changelog draft
rather than the old release
2014-02-10 10:46:57 -05:00
Roland Walker a0c773a14b devscript: missing bangs on line.chomp! 2014-02-10 10:46:50 -05:00
Roland Walker 6a7fa33b08 devscript: format project_stats output 2014-02-10 10:46:40 -05:00
Roland Walker fd9012d7b5 devscript: add docs to projects_stats 2014-02-10 10:46:34 -05:00
Roland Walker aba0f3d76d add Documentation section to Changelog template 2014-02-08 16:32:06 -05:00
Roland Walker 2d833edf30 bugfix: "plist" was included with package ids 2014-02-07 12:38:28 -05:00
Roland Walker 464cde2ea7 accept symlinks as arguments 2014-02-07 11:02:57 -05:00
Roland Walker c0b016d2aa detect ronn requirement 2014-02-07 11:02:30 -05:00
Roland Walker a56697427c clarify comment 2014-02-07 11:02:06 -05:00
Roland Walker 8d9ae53217 quoting/stdization/full-paths 2014-02-07 11:01:50 -05:00
Roland Walker 8f2a42af00 devscript: list_ids_in_app 2014-02-07 10:25:34 -05:00