3llo 0.3.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/ci.yml +33 -0
  3. data/.rubocop.yml +122 -0
  4. data/3llo.gemspec +11 -11
  5. data/CHANGELOG.md +31 -0
  6. data/Gemfile +3 -3
  7. data/{LICENSE.md → LICENSE} +1 -0
  8. data/README.md +118 -38
  9. data/Rakefile +3 -9
  10. data/bin/3llo +5 -27
  11. data/lib/3llo.rb +13 -11
  12. data/lib/3llo/api.rb +7 -4
  13. data/lib/3llo/api/board.rb +29 -26
  14. data/lib/3llo/api/card.rb +131 -104
  15. data/lib/3llo/api/checklist.rb +106 -0
  16. data/lib/3llo/api/label.rb +64 -0
  17. data/lib/3llo/api/list.rb +29 -27
  18. data/lib/3llo/api/token.rb +27 -0
  19. data/lib/3llo/api/user.rb +12 -27
  20. data/lib/3llo/application.rb +188 -0
  21. data/lib/3llo/command.rb +80 -0
  22. data/lib/3llo/{commands → command}/.gitkeep +0 -0
  23. data/lib/3llo/command/board.rb +40 -0
  24. data/lib/3llo/command/board/add.rb +29 -0
  25. data/lib/3llo/command/board/invalid.rb +18 -0
  26. data/lib/3llo/command/board/list.rb +18 -0
  27. data/lib/3llo/command/board/select.rb +29 -0
  28. data/lib/3llo/command/card.rb +140 -0
  29. data/lib/3llo/command/card/add.rb +37 -0
  30. data/lib/3llo/command/card/add_checklist.rb +22 -0
  31. data/lib/3llo/command/card/add_item.rb +22 -0
  32. data/lib/3llo/command/card/add_label.rb +56 -0
  33. data/lib/3llo/command/card/archive.rb +37 -0
  34. data/lib/3llo/command/card/assign.rb +56 -0
  35. data/lib/3llo/command/card/check_item.rb +22 -0
  36. data/lib/3llo/command/card/comment.rb +30 -0
  37. data/lib/3llo/command/card/comments.rb +28 -0
  38. data/lib/3llo/command/card/edit.rb +33 -0
  39. data/lib/3llo/command/card/edit_checklist.rb +24 -0
  40. data/lib/3llo/command/card/edit_item.rb +26 -0
  41. data/lib/3llo/command/card/invalid.rb +18 -0
  42. data/lib/3llo/command/card/list.rb +40 -0
  43. data/lib/3llo/command/card/list_mine.rb +19 -0
  44. data/lib/3llo/command/card/move.rb +42 -0
  45. data/lib/3llo/command/card/remove_checklist.rb +20 -0
  46. data/lib/3llo/command/card/remove_item.rb +21 -0
  47. data/lib/3llo/command/card/self_assign.rb +35 -0
  48. data/lib/3llo/command/card/show.rb +37 -0
  49. data/lib/3llo/command/card/uncheck_item.rb +22 -0
  50. data/lib/3llo/command/exit.rb +17 -0
  51. data/lib/3llo/command/help.rb +15 -0
  52. data/lib/3llo/command/invalid.rb +15 -0
  53. data/lib/3llo/command/label.rb +47 -0
  54. data/lib/3llo/command/label/add.rb +22 -0
  55. data/lib/3llo/command/label/edit.rb +37 -0
  56. data/lib/3llo/command/label/invalid.rb +18 -0
  57. data/lib/3llo/command/label/list.rb +18 -0
  58. data/lib/3llo/command/label/remove.rb +28 -0
  59. data/lib/3llo/command/list.rb +51 -0
  60. data/lib/3llo/command/list/add.rb +21 -0
  61. data/lib/3llo/command/list/archive_cards.rb +33 -0
  62. data/lib/3llo/command/list/cards.rb +34 -0
  63. data/lib/3llo/command/list/invalid.rb +18 -0
  64. data/lib/3llo/command/list/list.rb +18 -0
  65. data/lib/3llo/controller.rb +38 -21
  66. data/lib/3llo/entities.rb +43 -0
  67. data/lib/3llo/errors.rb +5 -1
  68. data/lib/3llo/interface.rb +9 -2
  69. data/lib/3llo/registry.rb +42 -0
  70. data/lib/3llo/remote_server.rb +99 -0
  71. data/lib/3llo/utils.rb +77 -0
  72. data/lib/3llo/version.rb +1 -1
  73. data/lib/3llo/view.rb +13 -0
  74. data/lib/3llo/{presenter → view}/.gitkeep +0 -0
  75. data/lib/3llo/view/board/help.rb +19 -0
  76. data/lib/3llo/view/board/list.rb +21 -0
  77. data/lib/3llo/view/card/comments.rb +32 -0
  78. data/lib/3llo/view/card/help.rb +38 -0
  79. data/lib/3llo/view/card/list.rb +57 -0
  80. data/lib/3llo/view/card/list_mine.rb +25 -0
  81. data/lib/3llo/view/card/show.rb +78 -0
  82. data/lib/3llo/view/help.rb +33 -0
  83. data/lib/3llo/view/label/help.rb +20 -0
  84. data/lib/3llo/view/label/list.rb +21 -0
  85. data/lib/3llo/view/list/cards.rb +34 -0
  86. data/lib/3llo/view/list/help.rb +20 -0
  87. data/lib/3llo/view/list/list.rb +21 -0
  88. metadata +97 -58
  89. data/.travis.yml +0 -22
  90. data/CODE_OF_CONDUCT.md +0 -49
  91. data/lib/3llo/board_command_factory.rb +0 -27
  92. data/lib/3llo/card_command_factory.rb +0 -70
  93. data/lib/3llo/command_factory.rb +0 -40
  94. data/lib/3llo/commands/board/invalid.rb +0 -33
  95. data/lib/3llo/commands/board/list.rb +0 -29
  96. data/lib/3llo/commands/board/select.rb +0 -38
  97. data/lib/3llo/commands/card/add.rb +0 -47
  98. data/lib/3llo/commands/card/archive.rb +0 -31
  99. data/lib/3llo/commands/card/assign.rb +0 -45
  100. data/lib/3llo/commands/card/comment.rb +0 -34
  101. data/lib/3llo/commands/card/comments.rb +0 -29
  102. data/lib/3llo/commands/card/invalid.rb +0 -41
  103. data/lib/3llo/commands/card/list.rb +0 -37
  104. data/lib/3llo/commands/card/list_mine.rb +0 -30
  105. data/lib/3llo/commands/card/move.rb +0 -42
  106. data/lib/3llo/commands/card/self_assign.rb +0 -33
  107. data/lib/3llo/commands/card/show.rb +0 -29
  108. data/lib/3llo/commands/error.rb +0 -18
  109. data/lib/3llo/commands/exit.rb +0 -16
  110. data/lib/3llo/commands/help.rb +0 -15
  111. data/lib/3llo/commands/invalid.rb +0 -18
  112. data/lib/3llo/commands/list/archive_cards.rb +0 -39
  113. data/lib/3llo/commands/list/cards.rb +0 -29
  114. data/lib/3llo/commands/list/invalid.rb +0 -34
  115. data/lib/3llo/commands/list/list.rb +0 -29
  116. data/lib/3llo/http/client.rb +0 -75
  117. data/lib/3llo/http/request_error.rb +0 -18
  118. data/lib/3llo/list_command_factory.rb +0 -33
  119. data/lib/3llo/presenter.rb +0 -11
  120. data/lib/3llo/presenter/board/list.rb +0 -25
  121. data/lib/3llo/presenter/card/assign.rb +0 -24
  122. data/lib/3llo/presenter/card/comments.rb +0 -33
  123. data/lib/3llo/presenter/card/list.rb +0 -53
  124. data/lib/3llo/presenter/card/list_mine.rb +0 -25
  125. data/lib/3llo/presenter/card/move.rb +0 -26
  126. data/lib/3llo/presenter/card/show.rb +0 -54
  127. data/lib/3llo/presenter/confirmation.rb +0 -18
  128. data/lib/3llo/presenter/help.rb +0 -44
  129. data/lib/3llo/presenter/list/cards.rb +0 -45
  130. data/lib/3llo/presenter/list/list.rb +0 -25
  131. data/lib/core_ext.rb +0 -41
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: e05bd8d3c7bea9ee60906b240c091388184e4564
4
- data.tar.gz: 3c42a1c12897aba513a736b3afd84d3dcf624838
2
+ SHA256:
3
+ metadata.gz: 924f5388e35597e1570a41cc0e0d346d999a6c5a354904e2d4db189579a5047d
4
+ data.tar.gz: 0d6d728e7831db53095118317a12e3d952793ecdae041db2dd75ca6d8282f515
5
5
  SHA512:
6
- metadata.gz: d81e257f0a944ec5ab3dd6373814ee8d4ae0482d0029d169222b827865a10cbfff93b08a6f508dab1c2b068acbecc7f40dbf4d13fe8032617dbfd299e27e56b8
7
- data.tar.gz: fbaa8605fb23e12ecf5c93133bcbe70933b6eb8f7bcfe33cf4cae18920ecaca99fa6d355eed44e77e79fb37b060b046aa136b86e655be0931d2716b08eec77e1
6
+ metadata.gz: 11c88432c0490b325080423edee099ac78263f7f0efcb7ef0f9d81d5348733d26649bddfcb335452946b5b8150b2dc539fb224094f6efeabc128ee14694cc198
7
+ data.tar.gz: '0318a410ef4b35661a9442cab3cdf9a22dcec2cda1645e0000e6eab0629b38ea6df4c97183dae1beb814b444bbd05a841d7da4db1f86aea1882207466f91664d'
@@ -0,0 +1,33 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+ pull_request:
8
+
9
+ jobs:
10
+ build:
11
+
12
+ runs-on: ubuntu-latest
13
+
14
+ strategy:
15
+ matrix:
16
+ ruby_version: ['2.5.x', '2.6.x']
17
+
18
+ steps:
19
+ - uses: actions/checkout@v1
20
+ - name: Set up Ruby ${{ matrix.ruby_version }}
21
+ uses: actions/setup-ruby@v1
22
+ with:
23
+ ruby-version: ${{ matrix.ruby_version }}
24
+ - name: Install dependencies
25
+ run: |
26
+ gem install bundler
27
+ bundle install --jobs 4 --retry 3
28
+ - name: Start httpbin container
29
+ run: docker run -d -p 8080:80 kennethreitz/httpbin
30
+ - name: Run Rubocop
31
+ run: bundle exec rubocop
32
+ - name: Run test
33
+ run: bundle exec rspec
@@ -0,0 +1,122 @@
1
+ # The behavior of RuboCop can be controlled via the .rubocop.yml
2
+ # configuration file. It makes it possible to enable/disable
3
+ # certain cops (checks) and to alter their behavior if they accept
4
+ # any parameters. The file can be placed either in your home
5
+ # directory or in some project directory.
6
+ #
7
+ # RuboCop will start looking for the configuration file in the directory
8
+ # where the inspected file is and continue its way up to the root directory.
9
+ #
10
+ # See https://github.com/rubocop-hq/rubocop/blob/master/manual/configuration.md
11
+
12
+ AllCops:
13
+ TargetRubyVersion: 2.5
14
+
15
+ Layout/LineLength:
16
+ Max: 120
17
+
18
+ Layout/DotPosition:
19
+ EnforcedStyle: leading
20
+
21
+ Layout/EmptyLinesAroundBlockBody:
22
+ EnforcedStyle: no_empty_lines
23
+
24
+ Layout/FirstArrayElementIndentation:
25
+ EnforcedStyle: consistent
26
+
27
+ Layout/FirstHashElementIndentation:
28
+ EnforcedStyle: consistent
29
+
30
+ Layout/HeredocIndentation:
31
+ Enabled: false
32
+
33
+ Layout/MultilineMethodCallIndentation:
34
+ EnforcedStyle: indented
35
+
36
+ Layout/SpaceInsideBlockBraces:
37
+ EnforcedStyle: space
38
+
39
+ Layout/SpaceInsideHashLiteralBraces:
40
+ EnforcedStyle: no_space
41
+
42
+ Layout/SpaceInsideParens:
43
+ EnforcedStyle: no_space
44
+
45
+ Lint/AssignmentInCondition:
46
+ Enabled: false
47
+
48
+ Metrics:
49
+ Enabled: false
50
+
51
+ Naming/RescuedExceptionsVariableName:
52
+ Enabled: false
53
+
54
+ Security/JSONLoad:
55
+ Enabled: false
56
+
57
+ Style/Alias:
58
+ EnforcedStyle: prefer_alias
59
+
60
+ Style/HashEachMethods:
61
+ Enabled: true
62
+
63
+ Style/HashTransformKeys:
64
+ Enabled: true
65
+
66
+ Style/HashTransformValues:
67
+ Enabled: true
68
+
69
+ Style/DefWithParentheses:
70
+ Enabled: false
71
+
72
+ Style/Documentation:
73
+ Enabled: false
74
+
75
+ Style/FrozenStringLiteralComment:
76
+ Enabled: false
77
+
78
+ Style/GlobalVars:
79
+ AllowedVariables: ['$application']
80
+
81
+ Style/GuardClause:
82
+ Enabled: false
83
+
84
+ Style/HashSyntax:
85
+ EnforcedStyle: ruby19
86
+
87
+ Style/MethodCallWithoutArgsParentheses:
88
+ Enabled: false
89
+
90
+ Style/ModuleFunction:
91
+ Enabled: false
92
+
93
+ Style/MultilineBlockChain:
94
+ Enabled: false
95
+
96
+ Style/PreferredHashMethods:
97
+ EnforcedStyle: verbose
98
+
99
+ Style/TrailingCommaInArguments:
100
+ EnforcedStyleForMultiline: no_comma
101
+
102
+ Style/TrailingCommaInHashLiteral:
103
+ EnforcedStyleForMultiline: no_comma
104
+
105
+ Style/WordArray:
106
+ EnforcedStyle: percent
107
+ MinSize: 3
108
+
109
+ Style/SpecialGlobalVars:
110
+ EnforcedStyle: use_english_names
111
+
112
+ Style/StringLiterals:
113
+ EnforcedStyle: double_quotes
114
+
115
+ Style/StringLiteralsInInterpolation:
116
+ EnforcedStyle: double_quotes
117
+
118
+ Style/RaiseArgs:
119
+ EnforcedStyle: compact
120
+
121
+ Lint/NonDeterministicRequireOrder:
122
+ Enabled: false
@@ -1,21 +1,20 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
1
+ lib = File.expand_path("lib", __dir__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require '3llo/version'
3
+ require "3llo/version"
5
4
 
6
5
  Gem::Specification.new do |spec|
7
6
  spec.name = "3llo"
8
7
  spec.version = Tr3llo::VERSION
9
- spec.authors = ["Cẩm Huỳnh"]
10
- spec.email = ["huynhquancam@gmail.com"]
8
+ spec.authors = ["Cẩm Huỳnh", "Diệp Sở Hùng"]
9
+ spec.email = ["huynhquancam@gmail.com", "diepsohung@gmail.com"]
11
10
 
12
- spec.summary = %q{Trello CLI}
13
- spec.description = %q{CLI for Trello}
11
+ spec.summary = "Trello CLI app"
12
+ spec.description = "Interactive CLI application for Trello"
14
13
  spec.homepage = "https://github.com/qcam/3llo"
15
14
  spec.license = "MIT"
16
15
 
17
16
  if spec.respond_to?(:metadata)
18
- spec.metadata['allowed_push_host'] = "https://rubygems.org"
17
+ spec.metadata["allowed_push_host"] = "https://rubygems.org"
19
18
  else
20
19
  raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
21
20
  end
@@ -25,9 +24,10 @@ Gem::Specification.new do |spec|
25
24
  spec.executables = spec.files.grep(%r{^bin/}) { |filename| File.basename(filename) }
26
25
  spec.require_paths = ["lib"]
27
26
 
28
- spec.required_ruby_version = '~> 2.0'
27
+ spec.required_ruby_version = "~> 2.5"
29
28
 
30
- spec.add_runtime_dependency 'tty-prompt', '~> 0.12.0'
29
+ spec.add_runtime_dependency "tty-prompt", "~> 0.20"
31
30
 
32
- spec.add_development_dependency 'rspec', '~> 3.0'
31
+ spec.add_development_dependency "rspec", "~> 3.0"
32
+ spec.add_development_dependency "rubocop", "~> 0.79"
33
33
  end
@@ -1,5 +1,36 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## v1.2.0
4
+
5
+ * Support running multiple commands with `--init` switch (#83)
6
+ * Include current board name to status line (#77)
7
+ * Introduce `card add-label` command (#74)
8
+ * Support multiline card description (#72)
9
+
10
+ ## v1.1.0
11
+
12
+ * Introduce "list add" command.
13
+ * Introduce "board add" command.
14
+ * Introduce label related command.
15
+ * Support exiting with Ctrl+D.
16
+
17
+ ## v1.0.0
18
+
19
+ * Support using shortcuts to access entities.
20
+ * Introduce `--config` switch.
21
+ * Introduce `--init` switch.
22
+ * Introduce `--configure` switch.
23
+ * Deprecate using environment variables for configuration.
24
+ * Improve performance of several commands.
25
+ * Support checklist related commands.
26
+ * Support Ruby 2.5+.
27
+ * Introduce `card edit` command.
28
+ * Improve command auto completion.
29
+
30
+ ## v0.3.1
31
+
32
+ * Improve self-documentation [#39](https://github.com/qcam/3llo/pull/39).
33
+
3
34
  ## v0.3.0
4
35
 
5
36
  * Accept multiline in "card comment" command [#33](https://github.com/qcam/3llo/pull/33).
data/Gemfile CHANGED
@@ -1,7 +1,7 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in trecli.gemspec
4
4
  gemspec
5
5
 
6
- gem 'bundler'
7
- gem 'rake'
6
+ gem "bundler"
7
+ gem "rake"
@@ -1,6 +1,7 @@
1
1
  The MIT License (MIT)
2
2
 
3
3
  Copyright (c) 2017 Cẩm Huỳnh
4
+ Copyright (c) 2020 Cẩm Huỳnh and Diệp Sở Hùng
4
5
 
5
6
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -1,66 +1,146 @@
1
- # 3llo - Interactive CLI for Trello
1
+ 3llo - The interactive CLI application for Trello
2
+ ================
2
3
 
3
- 3llo is the terminal client for Trello, which helps you manage Trello cards without
4
- leaving your awesome terminal.
4
+ 3llo allows you to work with Trello without exiting your favorite terminal.
5
5
 
6
- [![video](intro.gif)](https://asciinema.org/a/0z3l05hwph3vdq91gu7n1m3o4)
6
+ ![video](intro.gif)
7
7
 
8
8
  3llo was inspired by the awesome
9
9
  [rainbowstream](https://github.com/DTVD/rainbowstream) and
10
10
  [facy](https://github.com/huydx/facy).
11
11
 
12
- ## Why this named 3llo?
13
-
14
- Good to know that `3 == "tre"` in Swedish.
15
-
16
12
  ## Installation
17
13
 
18
14
  ```ruby
19
15
  gem install 3llo
20
16
  ```
21
17
 
22
- You also need to have these environment variables set in your shell.
18
+ Run `3llo --configure` and follow the instructions to complete the set up.
19
+
20
+ ## Usage
21
+
22
+ ### "board" command family
23
+
24
+ Just like the web version of Trello, you need to select a board:
23
25
 
24
26
  ```
25
- export TRELLO_USER=your_username
26
- export TRELLO_KEY=your_key
27
- export TRELLO_TOKEN=your_token
27
+ 3llo > board list
28
+
29
+ [123abc000000000000000001 #1] - Weekend TODOs
30
+ [123abc000000000000000002 #2] - 3llo project
31
+ [123abc000000000000000003 #3] - Grocery list
32
+
33
+ 3llo > board select #2
34
+
35
+ Board Work stuff selected
28
36
  ```
29
37
 
30
- ### Obtain Trello API key and token
38
+ Please note that you can also access any entities with their Trello ID.
39
+
40
+ ```
41
+ 3llo > board select 123abc000000000000000002
31
42
 
32
- 1. Go to [Get started](https://developers.trello.com/get-started/start-building).
33
- 2. Click on **Get your Application Key**.
34
- 3. Copy the Application Key and generate a Token using the instruction on the page.
43
+ Board Work stuff selected
44
+ ```
35
45
 
36
- ## Usage
46
+ ### "list" command family
47
+
48
+ Executing `list list` will list all the lists in the board.
49
+
50
+ ```
51
+ 3llo > list list
52
+
53
+ [123abc000000000000000001 #1] To Do
54
+ [123abc000000000000000002 #2] Doing
55
+ [123abc000000000000000003 #3] Pending
56
+ [123abc000000000000000004 #4] Done
57
+ ```
58
+
59
+ `list cards <list_key>` will list all the cards.
60
+
61
+ ```
62
+ 3llo > list cards #1
63
+
64
+ [123abc000000000000000001 #1] Merge card editing command
65
+ [123abc000000000000000002 #2] Refactor code
66
+ ...
67
+ ```
68
+
69
+ ### "card" command family
70
+
71
+ "card" command family comes with many commands to work with cards.
72
+
73
+ To list all the cards in the board, run `card list`.
37
74
 
38
- There are a couple of commands available in 3llo.
39
-
40
- * `board list`: List your board
41
- * `board select <board_id>`: Select the active board.
42
- * `card list`: List all cards of the active board.
43
- * `card list mine`: List all your cards of the active board.
44
- * `card add`: Create a card.
45
- * `card show <card_id>`: Show card information.
46
- * `card move <card_id> <list_id>`: Move card to a specified list.
47
- * `card self-assign <card_id>`: Self-assign a card.
48
- * `card comments <card_id>`: Show recent comments of a card.
49
- * `card comment <card_id>`: Add a comment to a card.
50
- * `card archive <card_id>`: Archive a card.
51
- * `list list`: List all the lists of the active board.
52
- * `list archive-cards <list_id>`: Archives all the cards on the specified list.
53
- * `help`: Show help menu.
54
- * `exit`: Exit.
75
+ ```
76
+ 3llo > card list
77
+
78
+ #To Do
79
+ ======
80
+ [123abc000000000000000001 #1] Merge card editing command [#small]
81
+ [123abc000000000000000002 #2] Refactor code [#medium] [@qcam]
82
+
83
+
84
+ #Doing
85
+ ======
86
+ [123abc000000000000000003 #3] Release v1.0 [#release] [@qcam]
87
+
88
+ #Pending
89
+ ...
90
+ ```
91
+
92
+ You can also list cards that have been assigned to you with `card list mine`.
93
+
94
+ ```
95
+ 3llo > card list mine
96
+
97
+ [123abc000000000000000002 #2] (To Do) Refactor code
98
+ [123abc000000000000000003 #3] (Doing) Release v1.0
99
+ ```
100
+
101
+ To view a card in detail, `card show <card_key>` is your friend.
102
+
103
+ ```
104
+ 3llo > card show #2
105
+
106
+ Refactor code
107
+ [123abc000000000000000002 #2]
108
+ Link: https://trello.com/c/AbCdEfG
109
+
110
+ Things to do [123abc000000000000000001 #1]
111
+ [ ] Item 1 [123abc000000000000000001 #1]
112
+ [ ] Item 2 [123abc000000000000000002 #2]
113
+ [ ] Item 3 [123abc000000000000000003 #3]
114
+ [ ] Item 4 ...
115
+ ```
116
+
117
+ Want to comment on a card? Run `card comment <card_key>`.
118
+
119
+ ```
120
+ 3llo > card comment #2
121
+
122
+ Comment: (Press CTRL-D or CTRL-Z to finish)
123
+ What else should we refactor more?<enter>
124
+
125
+ Comment has been posted
126
+
127
+ 3llo > card comments #2
128
+
129
+ @just_another_person_on_the_internet on <Jan 01, 2020 00:55:55> wrote:
130
+ This card is awesome!
131
+
132
+ @qcam on <Jan 01, 2020 00:55:55> wrote:
133
+ What else should we refactor more?
134
+ ```
55
135
 
56
136
  ## Contributing
57
137
 
58
- Bug reports and pull requests are welcome on GitHub at https://github.com/qcam/3llo. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
138
+ Bug reports and pull requests are welcome on GitHub at https://github.com/qcam/3llo.
59
139
 
60
- ### Development Roadmap
140
+ ### "3llo" sounds odd to me. Where did the name come from?
61
141
 
62
- View in [Issues](https://github.com/qcam/3llo/issues)
142
+ It might be interesting to know that `3 == "tre"` in Swedish 🇸🇪.
63
143
 
64
144
  ## License
65
145
 
66
- The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
146
+ MIT