orphic 0.1.4 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '08946a6b5beafae670e8b4dfa793ba5fc70e3da960b49b6e49506cc065b8f627'
4
- data.tar.gz: 3359fc8d3162020a17388e6ccdec06b905358aa1a787b9b6ab5d46f063023266
3
+ metadata.gz: '067634208ad0e7347f6b554b58c211e2a06aae99981c6649e341b424e6bf24fd'
4
+ data.tar.gz: d7c0787c643400acc40adeeb291cdf77dc29d61dd8ccad8ddb66ec875a1204f7
5
5
  SHA512:
6
- metadata.gz: 84f4edb17fca1b59020e7ccb5bfa67d48fbabc90bf3e4ed24a18e8947faee6dacbac461982ecd95c428300ceb8a113e78bd29249741ea9c4c5c8a2ff5b4cb0ce
7
- data.tar.gz: 56d46c1ce1a7b48707269b400b55dd83092ad72eaff304467760b946dea7efba01a1c8643406514713bc9666e973db3a9ecbde5ca73541204cd002438a4893b4
6
+ metadata.gz: d633fddbea6e4d1a4ae8f33999ba3e70f6173e37004b3579227ec5421d2f163d1ef3d2e04dc2fa60e85a6169505632c4f3ac50002fe37eb2d6cb2a57c1c9eb67
7
+ data.tar.gz: fd02419293607d19aa20bd39ae8e8c759e49571169b7cd1f7efb768b97fa1bc81f71ad4910c8fe1875c2bf5a46bc510e748bcffe54d2160f7d147e4cd6dc5f1e
@@ -1,6 +1,7 @@
1
+ # Orphic's Ruby CLI
1
2
  # Contributor Covenant Code of Conduct
2
3
 
3
- ## Our Pledge
4
+ ## Orphic's Pledge
4
5
 
5
6
  In the interest of fostering an open and welcoming environment, we as
6
7
  contributors and maintainers pledge to making participation in our project and
@@ -31,7 +32,7 @@ advances
31
32
  * Other conduct which could reasonably be considered inappropriate in a
32
33
  professional setting
33
34
 
34
- ## Our Responsibilities
35
+ ## Orphic Responsibilities
35
36
 
36
37
  Project maintainers are responsible for clarifying the standards of acceptable
37
38
  behavior and are expected to take appropriate and fair corrective action in
@@ -55,7 +56,7 @@ further defined and clarified by project maintainers.
55
56
  ## Enforcement
56
57
 
57
58
  Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
- reported by contacting the project team at obrienk@webbhost.net. All
59
+ reported by contacting the project team at cli@orphic.enterprises. All
59
60
  complaints will be reviewed and investigated and will result in a response that
60
61
  is deemed necessary and appropriate to the circumstances. The project team is
61
62
  obligated to maintain confidentiality with regard to the reporter of an incident.
@@ -72,3 +73,7 @@ available at [https://contributor-covenant.org/version/1/4][version]
72
73
 
73
74
  [homepage]: https://contributor-covenant.org
74
75
  [version]: https://contributor-covenant.org/version/1/4/
76
+
77
+ ## License
78
+
79
+ Orphic Ruby CLI License info can be found [here](https://github.com/orphic-inc/ruby-orphic-cli/LICENSE).
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2020 Kyle OBrien
3
+ Copyright (c) 2020 Orphic Enterprises
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -1,10 +1,8 @@
1
- # Orphic
1
+ # Ruby Orphic CLI
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/orphic`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ [![Gem Version](https://badge.fury.io/rb/orphic.svg)](https://badge.fury.io/rb/orphic)
4
4
 
5
- TODO: Delete this and the text above, and describe your gem
6
-
7
- ## Installation
5
+ ## Quick Installation
8
6
 
9
7
  Add this line to your application's Gemfile:
10
8
 
@@ -20,9 +18,162 @@ Or install it yourself as:
20
18
 
21
19
  $ gem install orphic
22
20
 
23
- ## Usage
21
+ ## Additional Installation Details
22
+
23
+ You'll need [Ruby](https://www.ruby-lang.org/en/documentation/installation/) and Rubygems installed for the Ruby Orphic CLI to function and develop your own commands or plugins. This is built using the [Thor toolkit (Insecure Link!)](http://whatisthor.com/) and [Ruby on Rails](https://rubyonrails.org/).
24
+
25
+ If looking to develop your own front end, check out our [rails fork here](https://github.com/orphic-inc/ruby-orphic-cli/tree/main/orphic-rails). You can [Get Started with Rails](https://guides.rubyonrails.org/getting_started.html) by following the linked guide and for more in-depth tutorials check out [Team Tree House](https://teamtreehouse.com/library/topic:ruby).
26
+
27
+ ## Basic Guide to a Web Development environment for the Orphic CLI
28
+
29
+ // TODO
30
+
31
+ ### Getting Started
32
+
33
+ The Orphic CLI runs on both Ruby and NodeJS, and to get started with either we recommend using [Brew](https://brew.sh) on Linux and Unix distros (including macOS), or [Chocolatey](https://chocolatey.org/) for Windows users. The CLI is currently focused on *-nix* developer environments, but v2 will focus on Windows PowerShell shortcuts via Chocolatey. With these package managers you can install [nvm](https://github.com/nvm-sh/nvm) and [rbenv](https://github.com/rbenv/rbenv), software that will create environments for any specified version. We recommend Ruby version 2.7.1 and Node version 12 or 14. [Google is your friend](https://lmgtfy.com/?q=install+ruby+and+rubygems), and this is a [good article for macOS users](https://www.moncefbelyamani.com/the-definitive-guide-to-installing-ruby-gems-on-a-mac/). If those steps are complete, you can install the gem locally with `gem install orphic`.
34
+
35
+ ### Developer Installation
36
+
37
+ Once the steps above are complete, you'll need the Bundler Ruby gem to locally bundle any changes made with `gem install bundler`. For more on [Bundler](https://bundler.io/) and Gemfiles, check out the [bundler docs here](https://bundler.io/gemfile.html). To build from source, clone the repo, access the directory and run `bundle install`. We strongly recommend using version control before continuing further. You can clone the ruby-orphic-cli repository into your own and once your changes are complete, they can be submitted for review via a Pull Request. If unfamiliar with git, Orphic recommends [Git SCM](https://git-scm.com/).
38
+
39
+ ## macOS
40
+
41
+ macOS includes a version of ruby and for that reason Orphic recommends using shims via rbenv to maintain a separate development environment. Our codebase is on Ruby 2.7.2, so your mileage may vary, but feel free to submit an Issue for any unexpected outcomes with replicable steps to anticipate the same conclusion.
42
+
43
+ # Example neo commands:
44
+
45
+ ## orphic help
46
+
47
+ This will help you get started, there are currently these commands and subcommands available:
48
+
49
+ ```
50
+ hello
51
+ -Uppercase -- Uppercase flag
52
+ node
53
+ node hello
54
+ node help
55
+ -tags -- tags option
56
+ Command -- (req.) argument
57
+ node deploy
58
+ -Site -- Site flag
59
+ -baseDistrict -- argument
60
+ map -- view map commands
61
+ map
62
+ -createDistrict
63
+ map
64
+ -viewDistrict
65
+ map
66
+ -Spools
67
+ media
68
+ -TYPE -- Type flag
69
+ Spools
70
+ Paji
71
+ posPaji
72
+ update_Paji
73
+ Cursor
74
+ posCursor
75
+ GeekCursor
76
+ mongoDb
77
+ mongo_URL - (req.) argument
78
+ Geek
79
+ Data
80
+ Flash
81
+ require Geek
82
+ puts "hi from flash"
83
+ ```
84
+
85
+ # Example dev commands:
86
+
87
+ ## `bundle exec exe/orphic help`
88
+
89
+ ## Publishing the Ruby gem
90
+
91
+ [Start with this doc](https://guides.rubygems.org/publishing/) and [your own test ruby gem](https://guides.rubygems.org/make-your-own-gem/#documenting-your-code), you can copy an [early branch if you'd like](https://rubygems.org/gems/orphic/versions/0.1.0).
92
+
93
+ This will help you get started:
94
+ `nano lib/orphic/version.rb`
95
+ `rm *i*`
96
+ `bundler install`
97
+ `gem build`
98
+ `gem publish *i*`
99
+
100
+ ## Git
101
+
102
+ Create a new branch with git to something like `git branch`.
103
+
104
+ ## Example HTTP headers
105
+ ```
106
+ Request headers
107
+ X-Forwarded-For: {IP address}
108
+ Cache-control: no-cache
109
+ Authorization: {auth token}
110
+ User-Agent: {your custom user agent}
111
+ Response headers
112
+ Access-Control-Allow-Origin: *
113
+ X-Frame-Options: deny
114
+ ```
115
+
116
+ ## Roadmap
117
+
118
+ ### Shell Geek
119
+
120
+ ### Jekyll Geek
121
+
122
+ ### Brew Geek
123
+
124
+ ### Chocolatey Geek
125
+
126
+ ### Node Geek
127
+
128
+ ### BigCommerce Geek
129
+
130
+ ### Google Cloud Geek
131
+
132
+ # spools
133
+
134
+ A spool can be most likened to a volume or book in that threads make up pages, where a spool can ascertain specific locations where Geeks were infantized, using the Paji and Cursor Geeks respectively. Paji specifies for uncommon keywords or commands you may not yet be familiar with, but has been identified as a Cursor Geek by Flash. Flash assists with real-time rendering and ephemeral changes. This creates a perpetual system via [Relational and Non-Relational databases](https://medium.com/@zhenwu93/relational-vs-non-relational-databases-8336870da8bc), as seen in our [example mongoDb doc](https://github.com/orphic-inc/ruby-orphic-cli/blob/main/orphic/lib/orphic/cli/sprites/cursor.rb).
135
+
136
+ # Threads
137
+
138
+ For each Geek, several inputs could be throughput as-is included with the example Geek. The reason "disc" or the equivalent of a hard-reset/disco is highly recommended, but not required falls on a few reasons:
139
+
140
+ The map command provides access to infinite tiers of districts, within reason unless things break which is cause to believe unreasonable in scope.
141
+
142
+ While a mechanism for invoking scope and difference of equation from the original scope of a project (or "District"), custom Districts can invoke their own commands via this CLI which can create interesting effects with APIs.
143
+
144
+ # Districts
145
+
146
+ To create a District, it is required to have an accessible (via SSL and redirected to SSL) API ([Example](https://tudio.us/api/auth)) which returns a [valid](https://jwt.io/introduction) [JWT]([More Info]), and Orphic Enterprises provides base districts for [these factors](https://12factor.net/):
147
+
148
+ # Sprites
149
+
150
+ Sprites serve as directional input, whether intentional or unintentional, serving a focal point for where all attention has become interest with a beginning state of (0,0).
151
+
152
+ // TODO
153
+
154
+ ## Geek: Declarative
155
+
156
+ ### I - Awake - Infant: Codebase
157
+ #### II - Growth - Rookie: Dependencies
158
+ #### III - Discovery - Champion: Config
159
+
160
+ ## Flash: Maximum Portability
161
+
162
+ ### IV - Trust - Angel: Backing Services
163
+ #### V - Truth - Fallen Angel: Build, Release, Run
164
+ #### VI - Magic - Version: Processes
165
+
166
+ ## Paji: Continuous Deployment
167
+
168
+ ### VII - Poetry - Distinct: Port Binding
169
+ #### VIII - Drive - Professional: Concurrency
170
+ #### IX - Will - Mega: Disposability
171
+
172
+ ## Cursor: Scale Up
24
173
 
25
- TODO: Write usage instructions here
174
+ ### X - Loyal - Penultimate: Dev/Prod Parity
175
+ #### XI - Enthusiasm - Ultimate: Logs
176
+ #### XII - Clarity - Awesome: Maximum Portability
26
177
 
27
178
  ## Development
28
179
 
@@ -32,7 +183,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
32
183
 
33
184
  ## Contributing
34
185
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/orphic. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/[USERNAME]/orphic/blob/master/CODE_OF_CONDUCT.md).
186
+ Bug reports and pull requests are welcome on GitHub at https://github.com/orphic-inc/ruby-orphic-cli. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/orphic-inc/ruby-orphic-cli/blob/master/CODE_OF_CONDUCT.md).
36
187
 
37
188
 
38
189
  ## License
@@ -41,4 +192,4 @@ The gem is available as open source under the terms of the [MIT License](https:/
41
192
 
42
193
  ## Code of Conduct
43
194
 
44
- Everyone interacting in the Orphic project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/orphic/blob/master/CODE_OF_CONDUCT.md).
195
+ Everyone interacting in the Orphic project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/orphic-inc/ruby-orphic-cli/blob/master/CODE_OF_CONDUCT.md).
data/bin/setup CHANGED
@@ -6,3 +6,32 @@ set -vx
6
6
  bundle install
7
7
 
8
8
  # Do any other automated setup that you need to do here
9
+ # Install nvm, brew, and checkout-js from bash
10
+ # Checks git status first to test for git
11
+ /bin/bash -c "$(git status)"
12
+
13
+ # If you don't see a git status reflected as a test
14
+ # You're doing it wrong, need git installed.
15
+
16
+ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.0/install.sh |)"
17
+ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
18
+ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/nvm-sh/install/master/install.sh)"
19
+ /bin/bash -c "$(nvm install @stable)"
20
+ /bin/bash -c "$(nvm install 12)"
21
+
22
+
23
+ /bin/bash -c "($brew doctor)"
24
+ /bin/bash -c "($brew --version)"
25
+ /bin/bash -c "($rbenv --versions)"
26
+
27
+ # rb isn't installed yet but red test
28
+
29
+ ## try nvm stable or one we know should work
30
+
31
+ # Is npm running, this is the ticket
32
+ /bin/bash -c "$(npm i -g @obrienk/orphic-cli)"
33
+
34
+ # Related things cloned via git during setup.
35
+ git clone https://github.com/bigcommerce/checkout-js
36
+ git clone https://github.com/streamwall/streamwall
37
+ git clone https://github.com/obrien-k/multi-sf-cart
@@ -4,8 +4,8 @@ require "orphic/cli"
4
4
  module Orphic
5
5
  # TODO
6
6
  CLI::UI::StdoutRouter.enable
7
- CLI::UI::Frame.open('Orphic Developer Experience') do
7
+ CLI::UI::Frame.open('Orphic Ruby CLI') do
8
8
  CLI::UI::Frame.open('Ruby CLI') { puts "The Orphic Ruby CLI utilizes the Thor gem for self-documenting commands and cli-ui gem for UI." }
9
- puts "Great minds never think alike."
9
+ puts "CLI, API, DB, e."
10
10
  end
11
11
  end
@@ -1,6 +1,8 @@
1
1
  require 'thor'
2
2
  require 'orphic/cli/node'
3
3
  require 'orphic/cli/district'
4
+ require 'orphic/cli/type'
5
+ require 'orphic/cli/spools'
4
6
  require 'cli/ui'
5
7
 
6
8
  module Orphic
@@ -8,7 +10,7 @@ module Orphic
8
10
  desc "hello NAME", "This will greet you"
9
11
  long_desc <<-HELLO_WORLD
10
12
 
11
- `hello NAME` will print out a message to the person of your choosing.
13
+ `hello NAME` will print out a message to the person of your choosing. Todo: title screen.
12
14
 
13
15
  HELLO_WORLD
14
16
  option :upcase
@@ -23,5 +25,9 @@ module Orphic
23
25
  subcommand "node", Orphic::OrphicCli::Node
24
26
  desc "map DISTRICT ...ARGS", "View map for a district"
25
27
  subcommand "map", Orphic::OrphicCli::District
28
+ desc "media TYPE", "Interface with various media types"
29
+ subcommand "media", Orphic::OrphicCli::Type
30
+ desc "spools CURSOR", "Access spools with Paji and Cursor"
31
+ subcommand "spools", Orphic::OrphicCli::Spools
26
32
  end
27
33
  end
@@ -5,23 +5,31 @@ module Orphic
5
5
  long_desc <<-DISTRICT
6
6
  Commands for a specific district.
7
7
 
8
- View districts with <district>. Base map includes the following options for branching:
9
-
10
- --awake - The entrypoint, learn more about the Awake district with this option. Aliased with --aw
11
- --grow - This typically involves UI/UX and likely what led you to this CLI. Growth continues... Aliased with --gr
12
- --discover - Your current location, learn more about the Discover district with this option. Aliased with --di
13
- --trust - Relates to cryptography and cyphers.
14
- --truth - Relates to verified authorizations.
15
- --magic - Let the magic begin! Related to ephemeral changes and middleware.
16
- --poetry - The poet, the lover, and the coder are of imagination all compact...
17
- --drive - Relates to real-time commands that will effect a concurrent stream or processes.
18
- --will - Relates to databases and permanence.
19
- --loyal - The gauntlet.
20
- --enthuse - Relates to live events and promotions.
21
- --clarity - The endgame.
22
-
23
- Or with <createDistrict>, create a new district.
8
+ View districts with <district>.
24
9
  DISTRICT
10
+ def district( viewDistrict )
11
+ # implement viewDistrict
12
+ CLI::UI::Frame.open( "Map :: District : " + viewDistrict ) do
13
+ puts "#{viewDistrict}"
14
+ end
15
+ end
16
+ desc "createDistrict", "Create a new district with <createDistrict>"
17
+ long_desc <<-CREATE_DISTRICT
18
+ Create a new district with createDistrict. Base map includes the following options for branching:
19
+
20
+ \x5--AWAKE - I. Infant - The entrypoint. Create command line interfaces, web portals, and related tech. Factor: Codebase
21
+ \x5--GROW - II. Child - User Interfaces and Experiences. Projects here relate to front-end like React, CSS, and prototypes. Factor: Dependencies
22
+ \x5--DISCOVER - III. Adolescent - Your current location. Educate your peers or yourself. Factor: Config
23
+ \x5--TRUST - IV. Rookie - Create authorization, cyphers, and cryptography-related projects. Factor: Backing Services
24
+ \x5--TRUTH - V. Amateur - The gateway. Can be used to verify authorizations and should be tied to the Trust District. Factor: Build, Release, Run
25
+ \x5--MAGIC - VI. Associate - Let the magic begin! Create ephemeral changes and middleware. Factor: Processes
26
+ \x5--POETRY - VII. Professional - The poet, the lover, and the coder are of imagination all compact... Code as art. Factor: Port Binding
27
+ \x5--DRIVE - VIII. Master - Real-time commands that effects streams or processes. Factor: Concurrency
28
+ \x5--WILL - IX. Legend - Databases and permanence. Factor: Disposability
29
+ \x5--LOYAL - X. Penultimate - The gauntlet. Test your loyalty with user or unit testing. Factor: Dev/Prod Parity
30
+ \x5--ENTHUSE - XI. Ultimate - Live events and promotions. Factor: Logs
31
+ \x5--CLARITY - XII. Awesome - The endgame, from your command-line, through staging and production. Factor: Admin Process
32
+ CREATE_DISTRICT
25
33
  option :awake
26
34
  option :grow
27
35
  option :discover
@@ -34,34 +42,21 @@ module Orphic
34
42
  option :loyal
35
43
  option :enthuse
36
44
  option :clarity
37
- def district( viewDistrict )
38
- # implement viewDistrict
39
- baseAwake = "Awake District info" if options[:awake]
40
- baseGrow = "Grow District info" if options[:grow]
41
- baseDiscover = "Discover District info" if options[:discover]
42
- baseTrust = "Trust District info" if options[:trust]
43
- baseTruth = "Truth District info" if options[:truth]
44
- baseMagic = "Magic District info" if options[:magic]
45
- basePoetry = "Poetry District info" if options[:poetry]
46
- baseDrive = "Drive District info" if options[:drive]
47
- baseWill = "Will District info" if options[:will]
48
- baseLoyal = "Loyal District info" if options[:loyal]
49
- baseEnthuse = "Enthuse District info" if options[:enthuse]
50
- baseClarity = "Clarity District info" if options[:clarity]
51
- CLI::UI::Frame.open( "Map :: District : " + viewDistrict ) do
52
- puts "#{viewDistrict}"
53
- end
54
- end
55
- desc "createDistrict", "Create a new district with <createDistrict>"
56
- long_desc <<-CREATE_DISTRICT
57
- Create a new district with createDistrict.
58
-
59
- TODO
60
- CREATE_DISTRICT
61
45
  def createDistrict ( createDistrict )
62
46
  # implement createDistrict
63
47
  CLI::UI::Frame.open( "Map :: District : Create " + createDistrict ) do
64
- puts "#{createDistrict}"
48
+ puts "Awake District info" if options[:awake]
49
+ puts "Grow District info" if options[:grow]
50
+ puts "Discover District info" if options[:discover]
51
+ puts "Trust District info" if options[:trust]
52
+ puts "Truth District info" if options[:truth]
53
+ puts "Magic District info" if options[:magic]
54
+ puts "Poetry District info" if options[:poetry]
55
+ puts "Drive District info" if options[:drive]
56
+ puts "Will District info" if options[:will]
57
+ puts "Loyal District info" if options[:loyal]
58
+ puts "Enthuse District infor" if options[:enthuse]
59
+ puts ":clarity district info" if options[:clarity]
65
60
  end
66
61
  end
67
62
  end
@@ -0,0 +1,29 @@
1
+ require 'orphic/cli/sprites/cursor'
2
+ require 'orphic/cli/sprites/paji'
3
+ require 'orphic/cli/sprites/flash'
4
+
5
+ module Orphic
6
+ module OrphicCli
7
+ class Spools < Thor
8
+ desc "spools", "Access varying sprites and/or districts with Cursor and Paji."
9
+ long_desc <<-SPOOLS
10
+ Commands for a specific SPOOL.
11
+
12
+ View your current SPOOL by passing a SPOOL argument, use <Cursor> and <Paji> subcommands for accessing different SPOOLs.
13
+ SPOOLS
14
+ def spools( viewSpool )
15
+ # implement viewSpool
16
+ CLI::UI::Frame.open( "Spool :: " + viewSpool ) do
17
+ puts "#{viewSpool}"
18
+ end
19
+ end
20
+ desc "spools Cursor", "Access a spool with Cursor"
21
+ subcommand "Cursor", Orphic::OrphicCli::Cursor
22
+ desc "spools Paji", "Access a spool with Paji"
23
+ subcommand "Paji", Orphic::OrphicCli::Paji
24
+ desc "spools Thread Flash", "Threads atomize obtuse objects, Flash follows homeostatic patterns. Paired with Cursor or Paji."
25
+ subcommand "Thread Cursor", Orphic::OrphicCli::Thread
26
+ # subcommand "Thread Paji", Orphic::OrphicCli::Thread::Paji
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,83 @@
1
+ require 'mongo'
2
+ require 'orphic/cli/sprites/flash'
3
+ require 'orphic/cli/sprites/geek'
4
+
5
+ module Orphic
6
+ module OrphicCli
7
+ class Cursor < Thor
8
+ desc "posCursor", "Cursory iterations."
9
+ long_desc <<-POS_CURSOR
10
+ Cursory iterations with mongoDB, SQL, and other datasets. Cursor helps
11
+ find specific info, whereas Paji is better suited for unknown parameters.
12
+
13
+ Learn more about DB commands with <Cursor mongoDb help>.
14
+ POS_CURSOR
15
+ def posCursor( currentCursor )
16
+ # implement viewType
17
+ CLI::UI::Frame.open( "Cursor :: Position : " + currentCursor ) do
18
+ puts "#{currentCursor}"
19
+ end
20
+ end
21
+ desc "GeekCursor","Geek traversal."
22
+ long_desc <<-GEEK_CURSOR
23
+ Info about Geek's instructions, discs, and audio or video if supplied.
24
+ GEEK_CURSOR
25
+ option :ins, :required => true
26
+ option :disc, :type => :boolean
27
+ option :audio, :type => :hash
28
+ option :video, :type => :hash
29
+ def GeekCursor ( currentGeek )
30
+ CLI::UI::Frame.open( "Cursor :: Geek : " + currentGeek ) do
31
+ puts "#{currentGeek}"
32
+ end
33
+ end
34
+ desc "mongoDb <mongoURL>", "CRUD commands for mongoDB"
35
+ long_desc <<-MONGO_DB
36
+ Pass the mongo URL as an argument to access it.
37
+
38
+ Create with --create, read with --read, update with --update, and delete with --delete.
39
+ MONGO_DB
40
+ option :create
41
+ option :read
42
+ option :update
43
+ option :delete
44
+ def mongoDb ( mongoURL )
45
+ # mongoDB client setup
46
+ client = Mongo::Client.new( mongoURL )
47
+ collection = client[:people]
48
+
49
+ # example doc for testing
50
+ doc = {
51
+ name: 'Steve',
52
+ hobbies: [ 'hiking', 'tennis', 'fly fishing' ],
53
+ siblings: {
54
+ brothers: 0,
55
+ sisters: 1
56
+ }
57
+ }
58
+ if options[:create]
59
+ result = collection.insert_one(doc)
60
+ CLI::UI::Frame.open("Cursor :: MongoDB :: " + mongoURL + ": Create ")
61
+ puts result.n
62
+ end
63
+ if options[:read]
64
+ collection.find.each do |document|
65
+ #=> Yields a BSON::Document.
66
+ CLI::UI::Frame.open( "Cursor :: MongoDB :: " + mongoURL + ": Read ")
67
+ puts document
68
+ end
69
+ end
70
+ if options[:update]
71
+ puts "update put"
72
+ end
73
+ if options[:delete]
74
+ puts "Delete option"
75
+ end
76
+ # implement mongoURL for viewing current info
77
+ CLI::UI::Frame.open( "Cursor :: Mongo :: DB : " + mongoURL ) do
78
+ puts "#{mongoURL}"
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,11 @@
1
+ require 'orphic/cli/sprites/geek'
2
+
3
+ # todo
4
+ #if flash
5
+ # flashState = true
6
+ #end
7
+
8
+ # send discs here, this is where the lifecycle of a composition
9
+ #if disc
10
+ # discState = true
11
+ #end
@@ -0,0 +1,46 @@
1
+ # pseudo-code
2
+ module Orphic
3
+ module OrphicCli
4
+ class Thread < Thor
5
+ desc "Cursor", "This geek's location."
6
+ long_desc <<-CURSOR
7
+ The real Cursor.
8
+
9
+ CURSOR
10
+ def Cursor()
11
+ __FILE__
12
+ puts "The Real Cursor."
13
+ end
14
+ desc "Paji", "Pajination (Paginated journaling)"
15
+ long_desc <<-PAJI
16
+ The real Paji.
17
+
18
+ PAJI
19
+ def Paji()
20
+ __LINE__
21
+ puts "The Real Paji."
22
+ end
23
+ puts "Cursor"
24
+ puts "Paji"
25
+ # required datasets
26
+ def i(ins)
27
+
28
+ # if (Cursor <= i) then
29
+ puts "i !<= 0"
30
+ $ins = "ins"
31
+ return $ins
32
+ end
33
+ # instructions, bootload 'this'
34
+ def d(disc)
35
+ $d = "disc"
36
+ puts $d
37
+ puts "disc"
38
+ end
39
+ # check if additional instructions available, if not disconnect
40
+ # not required but recommended for when things break
41
+ $a = "audio"
42
+ $v = "video"
43
+
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,36 @@
1
+ require 'orphic/cli/sprites/flash'
2
+ require 'orphic/cli/sprites/geek'
3
+
4
+ module Orphic
5
+ module OrphicCli
6
+ class Paji < Thor
7
+ desc "posPaji", "Paginated info."
8
+ long_desc <<-POS_PAJI
9
+ Positional info about pagination.
10
+
11
+ Paji differs from Cursor in that it gives relational data for unspecific
12
+ fetching.
13
+ POS_PAJI
14
+ def posPaji( currentPaji )
15
+ # implement posPaji
16
+ CLI::UI::Frame.open( "Paji :: Position : " + currentPaji ) do
17
+ puts "#{currentPaji}"
18
+ end
19
+ end
20
+ desc "updatePaji", "Update your Paji to a different location."
21
+ long_desc <<-UPDATE_PAJI
22
+ Update an existing Paji to the previous or next location available.
23
+ UPDATE_PAJI
24
+ option :previous
25
+ option :next
26
+ def updatePaji ( )
27
+ puts "previous option passed" if options[:previous]
28
+ puts "next option passed" if options[:next]
29
+ # implement updatePaji
30
+ CLI::UI::Frame.open( "Paji :: Update") do
31
+ puts "Paji updated"
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,56 @@
1
+ module Orphic
2
+ module OrphicCli
3
+ class Type < Thor
4
+ desc "type", "Interface with specific media TYPEs like mp4, mp3, flac, exe, and app."
5
+ long_desc <<-TYPE
6
+ Commands for a specific TYPE.
7
+
8
+ Learn more about a type with <type> help. Supported types include: mp3, mp4, flac, exe, app, wav, mkv, bin, jar, rb, js, ts, html, css.
9
+ TYPE
10
+ def type( viewType )
11
+ # implement viewType
12
+ CLI::UI::Frame.open( "Media :: Type : " + viewType ) do
13
+ puts "#{viewType}"
14
+ end
15
+ end
16
+ desc "createMedia", "Create a new file with a specific TYPE"
17
+ long_desc <<-CREATE_MEDIA
18
+ Create a new file with createMedia.
19
+ CREATE_MEDIA
20
+ option :mp3
21
+ option :mp4
22
+ option :flac
23
+ option :exe
24
+ option :app
25
+ option :wav
26
+ option :mkv
27
+ option :bin
28
+ option :jar
29
+ option :rb
30
+ option :js
31
+ option :ts
32
+ option :html
33
+ option :css
34
+ def createMedia ( createMedia )
35
+ puts "MP3 file created" if options[:mp3]
36
+ puts "MP4 file created" if options[:mp4]
37
+ puts "FLAC file created" if options[:flac]
38
+ puts "EXE file created" if options[:exe]
39
+ puts "APP file created" if options[:app]
40
+ puts "WAV file created" if options[:wav]
41
+ puts "MKV file created" if options[:mkv]
42
+ puts "BIN file created" if options[:bin]
43
+ puts "JAR file created" if options[:jar]
44
+ puts "RB file created" if options[:rb]
45
+ puts "JS file created" if options[:js]
46
+ puts "TS file created" if options[:ts]
47
+ puts "HTML file created" if options[:html]
48
+ puts "CSS file created" if options[:css]
49
+ # implement createDistrict
50
+ CLI::UI::Frame.open( "Map :: Media : Create " + createMedia ) do
51
+ puts "#{createMedia}"
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -1,3 +1,3 @@
1
1
  module Orphic
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.9"
3
3
  end
@@ -6,7 +6,7 @@ Gem::Specification.new do |spec|
6
6
  spec.authors = ["Kyle OBrien"]
7
7
  spec.email = ["obrienk@webbhost.net"]
8
8
 
9
- spec.description = "Orphic is a toolkit for building boilerplate interfaces invoking interaction"
9
+ spec.description = "Orphic is a toolkit and mechanism for building boilerplate interfaces, plugins, and streaming content"
10
10
  spec.summary = spec.description
11
11
  spec.homepage = "https://orphic.enterprises/orphic-cli"
12
12
  spec.license = "MIT"
@@ -30,6 +30,10 @@ Gem::Specification.new do |spec|
30
30
  spec.require_paths = ["lib"]
31
31
  spec.add_dependency "thor", "~> 0.20"
32
32
  spec.add_dependency "cli-ui", "~> 1.4"
33
+ spec.add_dependency "dotenv", "~> 2.1"
34
+ spec.add_dependency "stripe", "~> 5.28"
35
+ spec.add_dependency "rails", "~> 6.0.3"
36
+ spec.add_dependency "mongo", "~> 2.14.0.rc1"
33
37
  spec.add_development_dependency "rspec"
34
38
  spec.add_development_dependency "rspec-nc"
35
39
  spec.add_development_dependency "guard"
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "typescript-template",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "dist/index.js",
6
+ "scripts": {
7
+ "build": "tsc",
8
+ "dev": "tsc --watch",
9
+ "test": "echo \"Error: no test specified\" && exit 1"
10
+ },
11
+ "keywords": [],
12
+ "author": "Kyle <kyle@kyleo.io> (https://kyleo.io)",
13
+ "license": "MIT",
14
+ "devDependencies": {
15
+ "typescript": "^3.3.3333"
16
+ }
17
+ }
@@ -0,0 +1 @@
1
+ console.log('Welcome to the Internet, from TypeScript!');
@@ -0,0 +1,60 @@
1
+ {
2
+ "compilerOptions": {
3
+ /* Basic Options */
4
+ "target": "esnext" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */,
5
+ "module": "ESNext" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */,
6
+ // "lib": [WitchSuiteLib], /* Specify library files to be included in the compilation. */
7
+ // "allowJs": true, /* Allow javascript files to be compiled. */
8
+ // "checkJs": true, /* Report errors in .js files. */
9
+ // "jsx": "react", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
10
+ "declaration": true /* Generates corresponding '.d.ts' file. */,
11
+ // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */
12
+ "sourceMap": true /* Generates corresponding '.map' file. */,
13
+ // "outFile": "./", /* Concatenate and emit output to single file. */
14
+ "outDir": "./dist" /* Redirect output structure to the directory. */,
15
+ // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
16
+ // "composite": true, /* Enable project compilation */
17
+ // "removeComments": true, /* Do not emit comments to output. */
18
+ // "noEmit": true, /* Do not emit outputs. */
19
+ // "importHelpers": true, /* Import emit helpers from 'tslib'. */
20
+ // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
21
+ // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
22
+
23
+ /* Strict Type-Checking Options */
24
+ "strict": true /* Enable all strict type-checking options. */,
25
+ // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */
26
+ // "strictNullChecks": true, /* Enable strict null checks. */
27
+ // "strictFunctionTypes": true, /* Enable strict checking of function types. */
28
+ // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
29
+ // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */
30
+ // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */
31
+ // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */
32
+
33
+ /* Additional Checks */
34
+ // "noUnusedLocals": true, /* Report errors on unused locals. */
35
+ // "noUnusedParameters": true, /* Report errors on unused parameters. */
36
+ // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
37
+ // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
38
+
39
+ /* Module Resolution Options */
40
+ // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
41
+ // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */
42
+ // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
43
+ // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
44
+ // "typeRoots": [], /* List of folders to include type definitions from. */
45
+ // "types": [], /* Type declaration files to be included in compilation. */
46
+ // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
47
+ "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
48
+ // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
49
+
50
+ /* Source Map Options */
51
+ // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
52
+ // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
53
+ // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
54
+ // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
55
+
56
+ /* Experimental Options */
57
+ // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */
58
+ // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */
59
+ }
60
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: orphic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyle OBrien
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-11-05 00:00:00.000000000 Z
11
+ date: 2021-01-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -38,6 +38,62 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.4'
41
+ - !ruby/object:Gem::Dependency
42
+ name: dotenv
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.1'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '2.1'
55
+ - !ruby/object:Gem::Dependency
56
+ name: stripe
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '5.28'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '5.28'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rails
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 6.0.3
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 6.0.3
83
+ - !ruby/object:Gem::Dependency
84
+ name: mongo
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 2.14.0.rc1
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 2.14.0.rc1
41
97
  - !ruby/object:Gem::Dependency
42
98
  name: rspec
43
99
  requirement: !ruby/object:Gem::Requirement
@@ -150,7 +206,8 @@ dependencies:
150
206
  - - ">="
151
207
  - !ruby/object:Gem::Version
152
208
  version: '0'
153
- description: Orphic is a toolkit for building boilerplate interfaces invoking interaction
209
+ description: Orphic is a toolkit and mechanism for building boilerplate interfaces,
210
+ plugins, and streaming content
154
211
  email:
155
212
  - obrienk@webbhost.net
156
213
  executables:
@@ -175,8 +232,17 @@ files:
175
232
  - lib/orphic/cli.rb
176
233
  - lib/orphic/cli/district.rb
177
234
  - lib/orphic/cli/node.rb
235
+ - lib/orphic/cli/spools.rb
236
+ - lib/orphic/cli/sprites/cursor.rb
237
+ - lib/orphic/cli/sprites/flash.rb
238
+ - lib/orphic/cli/sprites/geek.rb
239
+ - lib/orphic/cli/sprites/paji.rb
240
+ - lib/orphic/cli/type.rb
178
241
  - lib/orphic/version.rb
179
242
  - orphic.gemspec
243
+ - package.json
244
+ - src/main.js
245
+ - tsconfig.json
180
246
  homepage: https://orphic.enterprises/orphic-cli
181
247
  licenses:
182
248
  - MIT
@@ -184,7 +250,7 @@ metadata:
184
250
  bug_tracker_uri: https://github.com/orphic-inc/ruby-orphic-cli/issues
185
251
  changlog_uri: https://github.com/orphic-inc/ruby-orphic-cli/blob/main/CHANGELOG.md
186
252
  documentation_uri: https://github.com/orphic-inc/ruby-orphic-cli/blob/main/README.md
187
- source_code_uri: https://github.com/orphic-inc/ruby-orphic-cli/tree/v0.1.4
253
+ source_code_uri: https://github.com/orphic-inc/ruby-orphic-cli/tree/v0.1.9
188
254
  wiki_uri: https://github.com/orphic-inc/ruby-orphic-cli/wiki
189
255
  post_install_message:
190
256
  rdoc_options: []
@@ -204,5 +270,6 @@ requirements: []
204
270
  rubygems_version: 3.1.4
205
271
  signing_key:
206
272
  specification_version: 4
207
- summary: Orphic is a toolkit for building boilerplate interfaces invoking interaction
273
+ summary: Orphic is a toolkit and mechanism for building boilerplate interfaces, plugins,
274
+ and streaming content
208
275
  test_files: []