Get East Asian Width from a character.
graceful fs.readlink
Lets control the Mega-ESP over ethernet (http://ab-log.ru/forum/viewtopic.php?f=1&t=1130) from ioBroker
Collection of easing functions in TypeScript
Utilities for watching file trees.
JSON canonicalize function
Fast 0-deps bash parser written in TypeScript
Find package.json files in parent directories, keep finding until you find the right one using iterators.
Check if argv has a specific flag
Datadog CI plugin for `lambda` commands
Build chainable fluent interfaces the easy way... with a freakin' chainsaw!
`[].reduce()` for old browsers
Find a file by walking up the directory tree
<!-- markdownlint-disable MD024 -->
Rope-based persistent sequence type
copy some files
React-pdf helper functions
Polyfill of future proposal for `util.parseArgs()`
Recursive version of fs.readdir with small RAM & CPU footprint
Walk up ancester's dir up to root
Find zeros of a function using the Newton-Raphson method
Implementation of common algebraic types in JavaScript + Flow
A minimalistic code generation utility.
Utilities for watching file trees.
Implement basic bonding curve to issue cw20 tokens
Unofficial Codex Desktop ASR client that reuses local ChatGPT auth for one-shot transcription
A ukulele chord toolbox in Rust
Async Rust client for SEC EDGAR: fetch filings, fund holdings, XBRL data, and IPO registrations with compliant rate limiting.
Attention mechanisms for ruvector - geometric, graph, and sparse attention
A math interpreter and evaluator
A math interpreter and evaluator (fork of num_parser)
A math interpreter and evaluator
Infrared IRP encoder and decoder
High-performance computer algebra kernel: symbolic expressions, polynomials, Gröbner bases, JIT, and Arb ball arithmetic.
Functional programming utilities for ToRSh tensors
Send and recevie closures through FFI
This rubygem does not have a description or summary.
This rubygem does not have a description or summary.
["scramble words or check their counts in a string e.g. 'some bad words are f'*** bad ***!' using the obfuscate('some string', ['some','words']) function or $=> { some => 1, bad => 2} using report('some string', ['some','words'])"]
gr8 is a great command-line utility powered by Ruby. Example: $ cat data Haruhi 100 Mikuru 80 Yuki 120 $ cat data | gr8s 'map{|s|s.split()[1]}' 100 80 120 $ cat data | gr8s 'map{|s|s.split()[1]}.map(&:to_i).sum' 300 $ cat data | gr8s 'map{split[1]}.sum_i' 300 $ cat data | gr8s -F 'map{self[1]}.sum_i' 300 $ cat data | gr8s -C2 'sum_i' 300 See http://kwatch.github.io/gr8/ for detail.
ApplixHash#from_argv builds hashes from ARGV like argument vectors according to following examples: '-f' --> { :f => true } '--flag' --> { :flag => true } '--flag:false' --> { :flag => false } '--flag=false' --> { :flag => 'false' } '--option=value' --> { :option => "value" } '--int=1' --> { :int => "1" } '--float=2.3' --> { :float => "2.3" } '--float:2.3' --> { :float => 2.3 } '--txt="foo bar"' --> { :txt => "foo bar" } '--txt:'"foo bar"'' --> { :txt => "foo bar" } '--txt:%w{foo bar}' --> { :txt => ["foo", "bar"] } '--now:Time.now' --> { :now => #<Date: 3588595/2,0,2299161> } remaining arguments(non flag/options) are inserted as [:arguments, args], eg: Hash.from_argv %w(--foo --bar=loo 123 now) becomes { :foo => true, :bar => 'loo', :arguments => ["123", "now"] }
Enhanced show-doc (a.k.a ? command) for: $! $" $$ $& $' $* $+ $, $-0 $-F $-I $-K $-W $-a $-d $-i $-l $-p $-v $-w $. $0 $1 $2 $3 $4 $5 $6 $7 $8 $9 $: $; $< $= $> $? $@ $DEBUG $FILENAME $KCODE $LOADED_FEATURES $LOAD_PATH $PROGRAM_NAME $SAFE $VERBOSE $\ $_ $` $stderr $stdin $stdout $~ $⁄ BEGIN END __ENCODING__ __FILE__ __LINE__ alias and begin break case class def defined? do else elsif end ensure false for if in module next nil not or redo rescue retry return self super then true undef unless until when while yield
== FEATURES: * Input your data as an array of hashes * Input a report layout, built using a Ruby DSL * Outputs ASCII pivot tables suitable for fast reports * Pretty fast: takes less than a second to process 1,000 records of data by a report with 100 rows and 10 columns. == SYNOPSIS: require 'rubygems' require 'crosstab' data = [{:gender => "M", :age => 1}, {:gender => "F", :age => 2}, {:gender => "M", :age => 3}] my_crosstab = crosstab data do table do title "Q.A Age:" group "18 - 54" do row "18 - 34", :age => 1 row "35 - 54", :age => 2 end row "55 or older", :age => 3 end banner do column "Total" group "Gender" do column "Male", :gender => "M" column "Female", :gender => "F" end end end puts my_crosstab.to_s # => ... Table 1 Q.A Age: Gender ---------------- Total Male Female (A) (B) (C) ------- ------- ------- (BASE) 3 2 1 18 - 54 2 1 1 ----------------------------- 67% 50% 100% 18 - 34 1 1 -- 33% 50% 35 - 54 1 -- 1 33% 100% 55 or older 1 1 -- 33% 50% == JUST THE BEGINNING: * I hope to add in later releases: * New export formats: html, pdf, csv, excel. * More stats than just frequency and percentage: mean, median, std. deviation, std. error, and significance testing * Optional row and table suppression for low frequencies * Optional table rows populating from the data * Optional table ranking -- automatically reorder rows based in descending order based on frequencies observed == REQUIREMENTS: * None
Used by tribunals_frontend and tribunals_api to share configuration. To use: 1) add "gem 'moj_tribunals_config'" to your Gemfile 2) in an initializer, add the following code: require 'moj_tribunals_config' my_config = Moj::Tribunals::ConfigLoader.new.load This will load the default config files from the gem. To load different files, you can provide an alternative path to the ConfigLoader.new method, e.g. my_config = Moj::Tribunals::ConfigLoader.new('/my/alternative/config/path').load To just load config for a specific tribunal, you can do: config_loader = Moj::Tribunals::ConfigLoader.new config_file = config_loader.config_file_for('utiac') config_loader.load_file( config_file ) RailsConfig integration ======================= If you're using the RailsConfig gem, your intializer can just do something like: files = Moj::Tribunals::ConfigLoader.new.config_files files.each{ |f| Settings.add_source!( f ) } Settings.reload!
== E9Tags An extension to ActsAsTaggableOn[http://github.com/mbleigh/acts-as-taggable-on] which "improves" on custom tagging, or at least makes it more dynamic. Additionally it provides some autocomplete rack apps and the corresponding javascript. == Installation 1. E9Tags requires jquery and jquery-ui for the autocompletion and tag-adding form, be sure they're loaded in your pages where the tags form will be rendered. 2. E9Tags extends ActsAsTaggableOn and requires it. Run it's generator if you have not. 3. Run the E9Tags install script to copy over the required JS rails g e9_tags:install 4. Then make sure it is loaded, how you do that doesn't matter, e.g. <%= javascript_include_tag 'e9_tags' %> 5. Create an initializer for that sets up the taggable models and their controllers. This gives the models the tag associations and methods and prepares their controller to handle the otherwise unexpected tag params. require 'e9_tags' require 'contacts_controller' require 'contact' E9Tags.controllers << ContactsController E9Tags.models << Contact OR You can just include the modules in your classes yourself. The first way really exists for the case where the classes you wish to extend are part of another plugin/gem. # in contact.rb include E9Tags:Model # in contacts_controller.rb include E9Tags::Controller 6. Render the tags form partial in whatever model forms require it. = render 'e9_tags/form', :f => f If you pass a context, it will be locked and no longer possible to change/add the contexts on the form (and as a side effect, the tags autocompletion will be restricted to that context). = render 'e9_tags/form', :f => f, :context => :users Finally if you pass a 2nd arg to :context you can set a tag context to be "private" (default is false). In this case the tag context will be locked as private (typically suffixed with *), meaning that the tags will not be publicly searchable/visible. This is useful for organizational tags tags, say if you wanted to arbitrarily group records, or create a custom search based on a tag context. = render 'e9_tags/form', :f => f, :context => [:users, true] NOTE: The form and javascript are intended to work out of the box, but the certainly aren't going to look pretty. If you do intend to use the forms, you'll no doubt need to style them.
Rangeary is a sub-class of Array and represents any 1-dimensional multiple-range, for example, (x<4 and 7<x<=9) or (x<="c" and "f"<=x), where the infinities can be abstract like nil or be defined by the user. All the standard logical operations, including negation, conjunction and disjunction, are supported and can be used with conventional Ruby-style operators. Each range is represented as RangeExtd class (Extended Range), which is a sub-class of Range and supports exclude-begin and open-ended (to Infinity) ranges, and is downloadable from https://rubygems.org/gems/range_extd
= Backup utility for database, folders and files Backs up a MySQL database, folders and files to a default folder (~/backup) or to a specified folder. If the --cron switch is provided the specified database and files are not backed up rather a cron job of the provided command is added to crontab. == Install The application can be installed with $ gem install syc-backup == Usage Backup a database to the default folder _~/backup_ $ sycbackup -d database -uuser -ppass Backup a MySQL database, a directory and files to the default folder $ sycbackup -d database -uuser -ppass -f directory,file1,file2 Specify a backup folder $ sycbackup backup/folder -d database -uuser -ppass -f directory,file1,file2 Override files in the backup folder if they exist $ sycbackup backup/folder --override -f directory,file1,file2 Don't compress the backup $ sycbackup --no-compress -f directory,file1,file2 Create a cron job that is scheduled every day at 2:30 $ sycbackup -d database -uuser -ppass -f directory,file1 --cron 30,2,*,*,* If the user or password contains characters as '(' you have to escape them. A password like 123(56 has to be provided with pass\"123\(56\". == Usage of --override and --no-compress Whether the backup directory and the backup files are time stamped depends how --override and --no-compress is set. The results are shown in the table below. --override --no-compress backup directory backup file(s) 0 0 w/o timestamp w/ timestamp 1 0 w/o timestamp w/ timestamp 0 1 w/ timestamp uncompressed 1 1 w/o timestamp uncompressed == Supported Platform syc-backup has been tested with 1.9.3 == Notes The application backs up the MySQL database with _mysqldump_. The dumpfile has the form yyyymmdd-HHMMSS_databasename.sql. After the files are backed up the dumpfile will be deleted. If the --no-compress is provided the files are copied to the backup folder. Otherwise they are compressed with _tar cfz YYYYmmdd-HHMMSS_syc-backup.tar.gz_. If the --override switch is not provided the backup directory will be added a timestamp. So if you create a cron job you should every now and then delete obsolete backup folders. The source contains lib/backup/file_backup.rb which is not used in the application. == Tests The tests create folders and files and will be deleted after the tests finish. _MySQLBackup_ needs to run a MySQL database with a database _test_ and a user _user_ with the password _pass_. The test files live in the test folder and begin with test_. There is a rake file available which can be used to run all tests with $ rake test == Links * [http://sugaryourcoffee.github.com/syc-backup] - RubyDoc * [http://www.github.com/sugaryourcoffee/syc-backup] - Source code on GitHub * [http://syc.dyndns.org/drupal/content/backup-drupal-database] - Development notebook * [https://rubygems.org/gems/syc-backup] - RubyGems
This gem is still under active development. Please contact me directly with any questions or suggestions. To start: r = RedcapAPI.new(token, url) # your institution has it's own url, and each project has it's own token r.get(optional record_id) # returns all records in JSON format or a specific record if specified r.get_fields # returns all fields for that instrument r.post(data) # this will either update an old record or create a new one. the data should be in form of array of hashes or as a hash (for one item). dates are accepted in Date class or in strftime('%F') format. for example data = {name: 'this is a test', field_2: Date.today} r.post(data) # creates a new object using the fields above. field names must match those in the existing project "{\"count\": 1}" --> indicates the object posted. to update an existing record: data = {record_id: 3, name: 'this is a test to update', field_2: Date.today} r.post(data) # this will update the record with record_id 3. if record_id 3 does not exist it will create an entry with that record id
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.