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

Improve README.md #26

Merged
merged 1 commit into from
Nov 15, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 60 additions & 40 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,61 +1,81 @@
# Pod

TODO: create pod description
Simple CLI to manage podcasts.

## Installation

Install the gem and add to the application's Gemfile by executing:
Pod is a Ruby gem published on RubyGems, so you can install running:

$ bundle add pod
```bash
$ gem install pod
```

If bundler is not being used to manage dependencies, install the gem by executing:
## Usage

$ gem install pod
### Initialization

## Usage
```bash
$ pod init
```

TODO: Write usage instructions here
### Adding a podcast

## Development
```bash
$ pod add ./path/to/rss.xml
$ pod add https://podcast.com/feed.xml
```

After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
### Listing podcasts

```bash
$ pod podcasts
$ pod podcasts --fields=id name
```

### Listing episodes

```bash
$ pod episodes PODCAST_ID
$ pod podcasts PODCAST_ID --fields=id title duration
$ pod podcasts PODCAST_ID --order-by=duration
```

### Opening an episode

### TODO List
- [x] Input interpretation
- [x] Create abstraction for `Open3`
- [x] `pod version/-v/--version` command
- [ ] `pod init` command
- [ ] Setup linter
- [ ] Setup lefthook
- [ ] Setup CI
```bash
$ pod open EPISODE_ID
$ pod open EPISODE_ID --browser=firefox
$ pod open EPISODE_ID --archive
```

### File structure
### Archiving an episode

```bash
$ pod archive EPISODE_ID
```
.
└── lib/
├── pod/
│ ├── commands/
│ │ ├── init/
│ │ │ ├── runner.rb
│ │ │ └── output.rb
│ │ ├── add/
│ │ │ ├── runner.rb
│ │ │ └── output.rb
│ │ ├── archive/
│ │ │ ├── runner.rb
│ │ │ └── output.rb
│ │ └── ...
│ ├── infrastructure/
│ │ ├── feed_parser.rb
│ │ ├── shell_interface.rb
│ │ ├── dto.rb
│ │ ├── storage.rb
│ │ └── ...
│ └── cli.rb
└── pod.rb

### Dearchiving an episode

```bash
$ pod dearchive EPISODE_ID
```

### Synchronizing a podcast

```bash
$ pod sync PODCAST_ID
```

### Updating the podcast

```bash
$ pod update PODCAST_ID --feed=https://newfeed.com/feed.xml
```

## Development

After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.

## Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/gustavothecoder/pod.
Expand Down