initial commit

master
Tait Hoyem 2 years ago
commit 817f7816c6

1
.gitignore vendored

@ -0,0 +1 @@
/target

17
2

@ -0,0 +1,17 @@
#[macro_use]
extern crate rocket;
#[!feature(
use melly_valentines::choose_saying::choose_saying;
use std::lazy::OnceCell;
static sayings = OnceCell::new();
#[get("/")]
fn a() -> String {
return choose_saying(sayings.get().expect("Could not get sayings list."));
}
#[launch]
fn rocket() -> _ {
rocket::build().mount("/", routes![a])
}

1456
Cargo.lock generated

File diff suppressed because it is too large Load Diff

@ -0,0 +1,10 @@
[package]
name = "melly-valentines"
authors = ["Tait Hoyem <tait@tait.tech>"]
version = "0.1.0"
edition = "2021"
[dependencies]
rocket = "0.5.0-rc.1"
rand = "^0.8.4"
lazy_static = "^1.4.0"

@ -0,0 +1,6 @@
# melly-valentines
This is for my girlfriend!!
As a challenge, she said that I should make a program with only 214 characters (reported by `wc -c`).
If more than one file, then every file must be 214 characters.

@ -0,0 +1,11 @@
sayings/squishy.txt
sayings/love.txt
sayings/programming.txt
sayings/special-melly.txt
sayings/generic.txt
sayings/food.txt
sayings/blind.txt
sayings/sex.txt
sayings/drugs.txt
sayings/music.txt
sayings/techies.txt

@ -0,0 +1,9 @@
I'm nobody! Who are you?
Are you nobody, too?
Then there's a pair of us - don't tell!
They'd banish us.
How dreary to be somebody!
How public, like a frog
To tell your name the livelong day
To an admiring bogger!

@ -0,0 +1,2 @@
export MELLY_CORE=melly_files.txt
cargo run

@ -0,0 +1,10 @@
I'm your potato!
Eating hashbrowns? Sounds like you cheated on me with my cousin!
You're my melon!
Glizzy!
I'm your tater tot!
Good melon!
You're one in a melon!
You're my favourite cabbage!
You're a snack!
Tasty!

@ -0,0 +1,8 @@
I love you!
I love your programs!
I love eating food with you!
I love you, you love me; don't forget to hold your pee!
I love your cuddles!
I love squishing your face!
I love booping your nose!
I love hugging you!

@ -0,0 +1,6 @@
"I'm coming on a jetplane; I know when I'll see you again!"
"I'm on the highway to shell!"
"Don't worry! Be Happy!"
"把明天的煩惱交給明天"
"The coconut nut is a giant nut!"
"Co-co-nut co-co-co-co-co-nut"

@ -0,0 +1,12 @@
*my_heart
love++;
squishy++;
tait.location = "Vancouver";
for (int i = 0;;i++) { printf("Love you %d!", i); }
hug++;
sad--;
while (true) { distance--; }
happy++;
hungry++;
sappy++;
int bank_account_amnt = INT_MAX;

@ -0,0 +1,2 @@
Smelly Melly!
belly, button

@ -0,0 +1,9 @@
Squishy!!!
You are my squishy, my only squishy!
Squish me!
I will squish you, soon!
You're a good squishy!
Squishable you!
Coming Soon: Squishy! (Rated R)
We'll make a lot of mini squishies!
Good morning, squishy!

@ -0,0 +1,3 @@
I'd like to peek at every one of your directories.
unzip; strip; touch; grep; mount; fsck; yes; more; fsck; fsck; umount; clean; sleep;
Run `curl https://melody-214.tait.tech` for more info funny sayings

@ -0,0 +1,11 @@
use lazy_static;
use crate::sayings::read_all_sayings;
use std::sync::Mutex;
lazy_static! {
static ref SAYINGS: Mutex<Vec<String>> = Mutex::new(read_all_sayings());
}
pub fn all_sayings() -> Vec<String> {
SAYINGS.lock().expect("Error locking SAYINGS.").to_vec()
}

@ -0,0 +1,9 @@
extern crate rand;
use rand::thread_rng;
use crate::all_sayings::all_sayings;
use crate::choose_saying::rand::prelude::IteratorRandom;
pub fn random_saying() -> String {
let mut rng = thread_rng();
all_sayings().iter().choose(&mut rng).expect("Error getting random saying.").to_string()
}

@ -0,0 +1,11 @@
use std::env as osenv;
pub fn gcf() -> String {
let val = match osenv::var("MELLY_CORE") {
Ok(var) => var,
Err(_e) => {
panic!("Environment variable MELLY_CORE is not found!");
},
};
val
}

@ -0,0 +1,7 @@
pub mod saying_files;
pub mod env;
pub mod ns;
pub mod choose_saying;
pub mod sayings;
pub mod all_sayings;
#[macro_use] extern crate lazy_static;

@ -0,0 +1,14 @@
#[macro_use]
extern crate rocket;
extern crate lazy_static;
use melly_valentines::choose_saying::random_saying;
#[get("/")]
fn a() -> String {
random_saying()
}
#[launch]
fn rocket() -> _ {
rocket::build().mount("/", routes![a])
}

@ -0,0 +1,3 @@
pub fn new_saying() -> String {
return "Helo!".to_string();
}

@ -0,0 +1,10 @@
use std::fs;
use crate::env::gcf;
pub fn get_files() -> Vec<String> {
fs::read_to_string(gcf())
.expect("Error reading core file")
.lines()
.map(|x| x.to_string())
.collect()
}

@ -0,0 +1,9 @@
use crate::saying_files::get_files;
pub fn read_all_sayings() -> Vec<String> {
get_files()
.iter()
.map(|n| n.lines().map(|l| l.to_string()))
.flatten()
.collect()
}
Loading…
Cancel
Save