Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add gem-stat command … #1707

Merged
merged 6 commits into from
Nov 18, 2017
Merged

add gem-stat command … #1707

merged 6 commits into from
Nov 18, 2017

Conversation

0x1eef
Copy link
Contributor

@0x1eef 0x1eef commented Nov 15, 2017

thanks to @dannytatom for the original gem-stats rubygems plugin, which
inspired this Pry command.

it returns some general statistics about a rubygem when given a name.
note that rubygems rate limits the requests, and thanks to that this
command can be a "Fail Whale" although the error is handled gracefully.

This commit depends on pull request:
#1701

instead (as you would with helper functions from BaseHelpers and
CommandHelpers)
@0x1eef
Copy link
Contributor Author

0x1eef commented Nov 15, 2017

The diff for this PR can reviewed independently in following commit:
cb727dd

@0x1eef
Copy link
Contributor Author

0x1eef commented Nov 15, 2017

woops, wrong danny. sorry @dnyy.

@0x1eef
Copy link
Contributor Author

0x1eef commented Nov 15, 2017

Sample screenshot.
screen shot 2017-11-15 at 18 52 05

@0x1eef
Copy link
Contributor Author

0x1eef commented Nov 15, 2017

715a39d is part of this PR and not the one which this PR depends on. it's also a joke.

@0x1eef
Copy link
Contributor Author

0x1eef commented Nov 15, 2017

screen shot 2017-11-15 at 19 37 38

@0x1eef
Copy link
Contributor Author

0x1eef commented Nov 15, 2017

rolled up all changes in b7d10a8 and properly attributed gem-stats gem to @dannytatom.

thanks to @dannytatom for the original gem-stats rubygems plugin, which
inspired this Pry command.

it returns some general statistics about a rubygem when given a name.
note that rubygems rate limits the requests, and thanks to that this
command can be a "Fail Whale" although the error is handled gracefully.

This commit depends on pull request:
#1701
@0x1eef
Copy link
Contributor Author

0x1eef commented Nov 15, 2017

rolled up 33935d7

@0x1eef 0x1eef self-assigned this Nov 15, 2017
@banister
Copy link
Member

what is this blocked by?

@0x1eef
Copy link
Contributor Author

0x1eef commented Nov 16, 2017

Blocked by pending approval and merge of #1701

@0x1eef 0x1eef removed the blocked label Nov 16, 2017
@0x1eef
Copy link
Contributor Author

0x1eef commented Nov 16, 2017

unblocked @banister

Copy link
Member

@banister banister left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool!

@0x1eef 0x1eef merged commit 337262c into pry:master Nov 18, 2017
@0x1eef 0x1eef deleted the gem_stats branch November 18, 2017 21:39
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Dec 17, 2018
pkgsr change:
* Remove @Prefix@ from ALTERNATIVES file.

### [v0.12.2][v0.12.2] (November 12, 2018)

#### Bug fixes

* Restore removed deprecations, which were removed by accident due to a bad
  rebase.

### [v0.12.1][v0.12.1] (November 12, 2018)

#### Bug fixes

* Stopped creating a new hash each time `Pry::Prompt#[]` is invoked
  ([#1855](pry/pry#1855))
* Fixed `less` pager not working when it's available
  ([#1861](pry/pry#1861))

### [v0.12.0][v0.12.0] (November 5, 2018)

#### Major changes

* Dropped support for Rubinius ([#1785](pry/pry#1785))

#### Features

* Added a new command, `clear-screen`, that clears the content of the screen Pry
  is running in regardless of platform (Windows or UNIX-like)
  ([#1723](pry/pry#1723))
* Added a new command, `gem-stat`, that prints gem statistics such as gem
  dependencies and downloads ([#1707](pry/pry#1707))
* Added support for nested exceptions for the `wtf` command
  ([#1791](pry/pry#1791))
* Added support for dynamic prompt names
  ([#1833](pry/pry#1833))

  ```rb
  # pryrc
  Pry.config.prompt_name = Pry.lazy { rand(100) }

  # Session
  [1] 80(main)>
  [2] 87(main)>
  [3] 30(main)>
  ```
* Added support for XDG Base Directory Specification
  ([#1609](pry/pry#1609),
  [#1844](pry/pry#1844),
  ([#1848](pry/pry#1848)))
* Removed the `simple-prompt`. Use `change-prompt simple` instead. The
  `list-prompt` command was removed and embedded as `change-prompt --list`
  ([#1849](pry/pry#1849))

#### API changes

* The following methods started accepting the new optional `config` parameter
  ([#1809](pry/pry#1809)):
  * `Pry::Helpers.tablify(things, line_length, config = Pry.config)`
  * `Pry::Helpers.tablify_or_one_line(heading, things, config = Pry.config)`
  * `Pry::Helpers.tablify_to_screen_width(things, options, config = Pry.config)`
  * `Pry::Helpers::Table.new(items, args, config = Pry.config)`

  You are expected to pass a session-local `_pry_.config` instead of the global
  one.

* Added new method `Pry::Config.assign`, for creating a Config non-recursively
  ([#1725](pry/pry#1725))
* Added `Pry.lazy`, which is a helper method for values that need to be
  calculated dynamically. Currently, only `config.prompt_name` supports it
  ([#1833](pry/pry#1833))
* `Pry::Prompt` responds to `.[]`, `.all` & `.add` now. The `Pry::Prompt.add`
  method must be used for implementing custom prompts. See the API in the
  documentation for the class ([#1846](pry/pry#1846))

#### Breaking changes

* Deleted the `Pry::Helpers::Text.bright_default` alias for
  `Pry::Helpers::Text.bold` ([#1795](pry/pry#1795))
* `Pry::Helpers.tablify_to_screen_width(things, options, config = Pry.config)`
  requires `options` or `nil` in place of them.
* `Pry::Helpers::Table.new(items, args, config = Pry.config)` requires `args`
  or `nil` in place of them.
* Completely revamped `Pry::HistoryArray`
  ([#1818](pry/pry#1818)).
  * It's been renamed to `Pry::Ring`
    ([#1817](pry/pry#1817))
  * The implementation has changed and as result, the following methods were
    removed:
    * `Pry::Ring#length` (use `Pry::Ring#count` instead)
    * `#empty?`, `#each`, `#inspect`, `#pop!`, `#to_h`
  * To access old Enumerable methods convert the ring to Array with `#to_a`
  * Fixed indexing for elements (e.g. `_pry_.input_ring[0]` always return some
    element and not `nil`)
* Renamed `Pry.config.prompt_safe_objects` to `Pry.config.prompt_safe_contexts`
* Removed deprecated `Pry::CommandSet#before_command` &
  `Pry::CommandSet#after_command` ([#1838](pry/pry#1838))

#### Deprecations

* Deprecated `_pry_.input_array` & `_pry_.output_array` in favour of
  `_pry_.input_ring` & `_pry_.output_ring` respectively
  ([#1814](pry/pry#1814))
* Deprecated `Pry::Command#text`. Please use `#black`, `#white`, etc. directly
  instead (as you would with helper functions from `BaseHelpers` and
  `CommandHelpers`) ([#1701](pry/pry#1701))
* Deprecated `_pry_.input_array` & `_pry_.output_array` in favour of
  `_pry_.input_ring` and `_pry_.output_ring` respectively
  ([#1817](pry/pry#1817))
* Deprecated `Pry::Platform`. Use `Pry::Helpers::Platform` instead. Note that
  `Pry::Helpers::BaseHelpers` still includes the `Platform` methods but emits a
  warning. You must switch to `Pry::Helpers::Platform` in your code
  ([#1838](pry/pry#1838),
  ([#1845](pry/pry#1845)))
* Deprecated `Pry::Prompt::MAP`. You should use `Pry::Prompt.all` instead to
  access the same map ([#1846](pry/pry#1846))

#### Bug fixes

* Fixed a bug where `cd Hash.new` reported `self` as an instance of Pry::Config
  in the prompt ([#1725](pry/pry#1725))
* Silenced the `Could not find files for the given pattern(s)` error message
  coming from `where` on Windows, when `less` or another pager is not installed
  ([#1767](pry/pry#1767))
* Fixed possible double loading of Pry plugins' `cli.rb` on Ruby (>= 2.4) due to
  [the `realpath` changes while invoking
  `require`](https://bugs.ruby-lang.org/issues/10222)
  ([#1762](pry/pry#1762),
  [#1774](pry/pry#1762))
* Fixed `NoMethodError` on code objects that have a comment but no source when
  invoking `show-source` ([#1779](pry/pry#1779))
* Fixed `negative argument (ArgumentError)` upon pasting code with tabs, which
  used to confuse automatic indentation
  ([#1771](pry/pry#1771))
* Fixed Pry not being able to load history on Ruby 2.4.4+ when it contains the
  null character ([#1789](pry/pry#1789))
* Fixed Pry raising errors on `cd`'ing into some objects that redefine
  `method_missing` and `respond_to?`
  ([#1811](pry/pry#1811))
* Fixed bug when indentation leaves parts of input after pressing enter when
  Readline is enabled with mode indicators for vi mode
  ([#1813](pry/pry#1813),
  [#1820](pry/pry#1820),
  [#1825](pry/pry#1825))
* Fixed `edit` not writing to history
  ([#1749](pry/pry#1749))

#### Other changes

* Deprecated the `Data` constant to match Ruby 2.5 in the `ls` command
  ([#1731](pry/pry#1731))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants